У меня есть пользовательский контроллер, доступный по пути, /custommodule/customer/info
который загружает 2columns-left.phtml
шаблон на root
узле следующим образом:
<custommodule_customer_info>
<reference name="root">
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
</custommodule_customer_info>
Я хотел бы обновить корневой шаблон для клиентов, которые не вошли в систему, например:
<customer_logged_out>
<custommodule_customer_info>
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
</custommodule_customer_info>
</customer_logged_out>
Я понимаю, что не могу ориентироваться на несколько дескрипторов макета таким образом, но цель должна быть ясной; обновите корневой шаблон для этого дескриптора макета, пока клиенты не вошли в систему.
Я думал, что могу нацелить ручку моего контроллера с помощью следующего:
<customer_logged_out>
<reference name="custommodule_customer_info">
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
</reference>
</customer_logged_out>
Это действительно обновляет корневой шаблон с помощью 1column.phtml
шаблона, но он делает это на том, что выглядит как все страницы, а не только страница, предназначенная для моего reference
узла.
Я пробовал несколько перестановок этого обновления макета, но, похоже, ни одна из них не работает. Как можно настроить таргетинг на этот дескриптор макета, одновременно используя customer_logged_out
дескриптор макета?
- edit - Чтобы было понятно, это на самом деле сторонний модуль.
customer_logged_in/out
ручки могут быть такими мощными, но они ограничиваются из-за этого ограничения.