Как элемент меню скрывается с помощью модуля домена?


У меня есть узел, который ограничен сайтом dev2. В моем меню у меня есть ссылка на этот узел. На сайте dev1 ссылка не отображается.

Я создал крючок для node_access, который возвращает NODE_ACCESS_ALLOW для операции просмотра. Разве он не должен отображаться в меню для обоих сайтов, даже если он ограничен dev2 модулем домена?

Author: Chapabu, 2011-12-10

1 answers

Этим летом я сделал проект, в котором Доступ к домену использовался для разделения сайта на настольную и мобильную версии веб-сайта. Клиент хотел иметь возможность настраивать таргетинг на части контента для настольных компьютеров, мобильных устройств или для обоих.

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

Я думаю, у вас здесь есть два варианта.

Я думаю, что правильно, что вы должны сделать это, чтобы отправить узел всем или нескольким филиалам, что должно быть опцией при редактировании узла.

Если вы хотите пройти маршрут node_access, то я подозреваю, что вам нужно очистить кэши, а также перестроить разрешения узла. Я совершенно забыл, где находится эта опция в пользовательском интерфейсе, но вам, по сути, нужно вызвать node_access_rebuild. Самый простой способ, вероятно, с drush

drush php-eval 'node_access_rebuild();'

Просто держись имейте в виду, что ссылка появится в меню, но узел также будет доступен для просмотра. Эти двое идут рука об руку.

 1
Author: mpdonadio, 2011-12-14 17:15:11