Добрый день! Drupal 7.59/ Проблема: все страницы от анонимов закрыты по умолчанию. Как открыть одну страницу для все пользователей и анонимов? Если есть пример решенной задачи, скиньте ссылку. (Drupal 7.59)
Заранее спасибо!
Добрый день! Drupal 7.59/ Проблема: все страницы от анонимов закрыты по умолчанию. Как открыть одну страницу для все пользователей и анонимов? Если есть пример решенной задачи, скиньте ссылку. (Drupal 7.59)
Заранее спасибо!
Комментарии
Написать простой модуль с хуком hook_node_access где разрешить доступ именно к этой странице
Создал модуль вот код:
open_access_page.info:
; $Id:$
name = Open access page
description = Открывает для анонимов страницу с id
version = 7.x-dev
core = 7.x
open_access_page.module:
<?php
function open_access_page_node_access($node, $op, $account) {$is_anonymous = !user_is_logged_in();
if (
is_object($node)) {switch ($node->nid) {
case 515:
return NODE_ACCESS_ALLOW;
break;
}
}
return
NODE_ACCESS_DENY;} ?>
Но для анонимов страница не отображается все равно.
Быть может я что-то не правильно сделал?
Спасибо!
Как именно закрыт доступ для анонимов?
Просто в настройках прав доступа в ролях у анонима все галочки сняты
hook_node_access срабатывает позже, чем проверка на права, соответственно до него даже не доходит. Попробуйте включить разрешение access content, а в hook_node_access проверять от противного - если нода не из списка разрешенных - рубить доступ.
Приблизительно:
<?php
function open_access_page_node_access($node, $op, $account) {
$is_anonymous = ;
if (
$op === 'view' && user_is_anonymous() && is_object($node)) {switch ($node->nid) {
case 515:
return NODE_ACCESS_ALLOW;
break;
}
return NODE_ACCESS_DENY;
}
}
?>