Есть ли у Magento 2 такой дескриптор, как customer_logged_in ? Если да, как я могу использовать это?
Я пытался создать
../view/frontend/layout/customer_logged_in.xml
и добавил туда <referenceBlock name="content" remove="true" />
Но блок контента не был удален. Я переименовал дескриптор файла по умолчанию, и блок был успешно удален.
Что я делаю неправильно?
magento2
layout
xml
update-handle
zhartaunik
источник
источник
Если кто-то все еще борется с этим, я написал быстрый модуль, который добавляет маркеры customer_logged_in и customer_logged_out для использования так же, как в Magento 1
http://frankclark.xyz/modules/magento-2-get-customer_logged_in-and-customer_logged_out-layout-handles
Наслаждайтесь !
источник
Как уже отмечали другие, эти ручки теперь исчезли. Если вы посмотрите на модуль Magento_Customer, вы увидите, что блоки, такие как ссылка на регистрацию, всегда добавляются, но не отображаются, если клиент вошел в систему . Похоже, что теперь это предпочтительный способ условного отображения элементов в зависимости от состояния входа в систему.
Но это не решение для удаления блоков, основанных на их именах, которые были определены где-то еще. Вы можете воссоздать функцию с наблюдателем для
layout_load_before
этих вызовов,$layout->addHandle('customer_logged_in')
если клиент вошел в систему.источник
Это очень глупо. Мне нужно загрузить блок / шаблон / ресурс только у клиента есть разрешение, а не просто войти или выйти из системы. Но мне нужно написать 1000 строк кода, чтобы проверить, есть ли у пользователя разрешение на это. Просто прекрасно.
источник