Как элемент меню скрывается с помощью модуля домена?
У меня есть узел, который ограничен сайтом dev2. В моем меню у меня есть ссылка на этот узел. На сайте dev1 ссылка не отображается.
Я создал крючок для node_access, который возвращает NODE_ACCESS_ALLOW для операции просмотра. Разве он не должен отображаться в меню для обоих сайтов, даже если он ограничен dev2 модулем домена?
1 answers
Этим летом я сделал проект, в котором Доступ к домену использовался для разделения сайта на настольную и мобильную версии веб-сайта. Клиент хотел иметь возможность настраивать таргетинг на части контента для настольных компьютеров, мобильных устройств или для обоих.
Если часть содержимого находится в меню, правила домена решат, доступна ли эта часть содержимого, что вы и видите. Это делается с помощью стандартных методов node_access, которые предоставляют разрешения, а не забирают их.
Я думаю, у вас здесь есть два варианта.
Я думаю, что правильно, что вы должны сделать это, чтобы отправить узел всем или нескольким филиалам, что должно быть опцией при редактировании узла.
Если вы хотите пройти маршрут node_access, то я подозреваю, что вам нужно очистить кэши, а также перестроить разрешения узла. Я совершенно забыл, где находится эта опция в пользовательском интерфейсе, но вам, по сути, нужно вызвать node_access_rebuild. Самый простой способ, вероятно, с drush
drush php-eval 'node_access_rebuild();'
Просто держись имейте в виду, что ссылка появится в меню, но узел также будет доступен для просмотра. Эти двое идут рука об руку.