День добрый.
Дано:
Есть страница VIEW табличного вида с перечнем материалов. Использую поля «заголовок» (без ссылки) и поле «ссылка на полный материал».
Задача:
Поле «ссылка на полный материал» должны видеть только пользователи определенной роли.
Решение: ?
Заранее спасибо за предложенные варианты.
Комментарии
В шаблоне нод такого типа поставить
global $user
if($user->role == 'ROLE') {
if($page == 0) {
OUR LINK
}
else {
OUR NODE
}
}
Упс, не для вьюс!
Для вьюз можно применить ССК и CCK Field Permissions
Для вьюз можно применить ССК и CCK Field Permissions
Для вьюз можно применить ССК и CCK Field Permissions http://www.drupal.ru/node/9729
Можно просто в "Аргумент хендлин код" написать
<?php
if($user->role == 'ROLE') {
$view->field[0] = array (
'tablename' => 'node',
'field' => 'title',
'label' => 'Заголовок',
'handler' => 'views_handler_field_nodelink_with_mark',
'options' => 'link',);
}
?>
Этот код изменит первое поле в вашей табличке. Меняйте индекс $view->field[0] под себя, так же как и внутреннее содержимое массива.
Подсмотреть то, что нужно именно Вам можно таким способом:
1. Создайте вид, который вы хотите получить (я имею ввиду вид полей).
2. Нажмите "экспортировать" и смотрите код.
Подробнее об этой идее тут: http://drupal.ru/node/9250
Всем большое спасибо... всё попробую отпишу.
Если Вы сами решите эту задачку, то могу Вам предложить высокооплачиваемую работу
В эту же тему вопрос:
пытаюсь сделать вид - один на всех пользователей - там есть поля скидка и закупочная цена на основе которых вычесляется Customfield поле цена
И вот с какой проблеммой я столкнулся:
если в content_permissions module убрать доступ к просмотру для анонимов для полей (скидка и закупочная цена) - то вычисляемое поле становится равным "0"
Как побороть?