показать название узла незарегистрированным пользователям - PullRequest
0 голосов
/ 11 августа 2010

Я использую модуль доступа к контенту для ограничения определенных узлов и типов узлов для незарегистрированных пользователей.

Но я хотел бы создать представление, где незарегистрированные пользователи также могут видеть названия этих ограниченных узлов.

Как я могу это сделать?

Ответы [ 5 ]

1 голос
/ 06 января 2011

хорошо, если вы просто хотите повторить заголовок узла в php (с в теле узла), включите php:

<?php 
if (arg(0) == 'node' && is_numeric(arg(1))) $nodeid = arg(1);
$node = node_load($nodeid);
print $node->title;

?>

Blockquote

и высделано

1 голос
/ 11 августа 2010

Я не использовал это лично, но я только что видел, как он всплывал в ленте модуля drupal.org несколько дней назад, и это должно помочь: http://drupal.org/project/views_ignore_node_permissions

0 голосов
/ 03 ноября 2018

Решение здесь :

В параметрах-параметрах представлений "Параметры запроса" можно установить "Отключить перезапись SQL" ("Отключение перезаписи SQL отключит проверки node_access, а также других модулей, которые реализуют hook_query_alter ()."), Что делает afaik ненужным для этого модуля. последняя версия просмотров.

0 голосов
/ 12 августа 2010

Вы можете написать для этого простой модуль, который выполняет следующие действия:

  • запрашивает заголовки узлов, которые вы хотите показать (вызывается hook_menu)
  • тема результата (hook_theme))
  • отобразить результат (hook_block)

в hook_perm вы можете создать новое разрешение, которое вы хотели бы отображать заголовки узла, если этодля всех, просто используйте «доступ к контенту».

0 голосов
/ 11 августа 2010

Если вы хотите ограничить доступ к некоторым полям, а не к другим, вам действительно следует использовать разрешения для каждого поля. Я предполагаю, что все поля построены с помощью CCK, поэтому просто включите разрешение для типа содержимого, но отключите для всех полей.

Таким образом, виден только заголовок. Я не думаю, что вы можете отключить разрешения для стандартного поля тела, но я всегда использую для этого текстовую область CCK, для css это намного проще, так как стандартное поле тела не переносится при печати узла по умолчанию. *

...