Есть два типа материала и две роли пользователей. Как сделать, чтобы на странице термина, для каждой роли показывались связанные материалы своего типа?
Не совсем понятно, правда, что делать с модулем Node privacy byrole. Если указать доступ для каждого типа материала, то он будет работать для всего сайта, а мне нужно разграничить только на отдельных страницах. И не нашел в фильтрах Views ничего про Node privacy byrole.
Оговорюсь, у меня стоит Drupal 7.20, Views 7.x-3.5, Node privacy byrole 7.x-1.x-dev. И интерфейс совершенно не такой как у вас на скриншоте.
Попробуйте почистить кеш и посмотреть снова.
Также возможно "Node privacy byrole" для 7 Друпала пишется по другому.
Если не хотите для всего сайта, попробуйте вместо страницы таксономии вывести данные с помощью обычного php-сниппета который выводится на определенной странице!
<?php
global $user;
if($user->roles=='role1'){
//тут выводим ноды Типа 1
}
else if($user->roles=='role2'){
//тут выводим ноды Типа 2
}
else{
print 'У Вас нет прав для просмотра материалов этой категории';
}
?>
Спасибо, но я пошел немного другим путем. С помощью модуля Disable Term Node Listings отключил показ связанных нод. Затем просто создал два блока с записями, для каждого типа ноды и настроил отображение для определенной роли.
Комментарии
Вот решение: ВЫВЕСТИ ОПРЕДЕЛЕННЫЙ ТИП НОД НА СТРАНИЦЕ ТЕРМИНА DRUPAL
Спасибо за ответ!
Не совсем понятно, правда, что делать с модулем Node privacy byrole. Если указать доступ для каждого типа материала, то он будет работать для всего сайта, а мне нужно разграничить только на отдельных страницах. И не нашел в фильтрах Views ничего про Node privacy byrole.
Оговорюсь, у меня стоит Drupal 7.20, Views 7.x-3.5, Node privacy byrole 7.x-1.x-dev. И интерфейс совершенно не такой как у вас на скриншоте.
Я показал для Друпал 6.
Попробуйте почистить кеш и посмотреть снова.
Также возможно "Node privacy byrole" для 7 Друпала пишется по другому.
Если не хотите для всего сайта, попробуйте вместо страницы таксономии вывести данные с помощью обычного php-сниппета который выводится на определенной странице!
<?php
global $user;
if($user->roles=='role1'){
//тут выводим ноды Типа 1
}
else if($user->roles=='role2'){
//тут выводим ноды Типа 2
}
else{
print 'У Вас нет прав для просмотра материалов этой категории';
}
?>
Спасибо, но я пошел немного другим путем. С помощью модуля Disable Term Node Listings отключил показ связанных нод. Затем просто создал два блока с записями, для каждого типа ноды и настроил отображение для определенной роли.