Как добавить шаблон только для страниц учетной записи?
У меня есть шаблон, который должен быть только на страницах учетной записи и страницах оформления заказа.
У меня есть меню в local.xml это отображается, когда клиент входит в систему, но я также хочу показывать это только на определенных страницах.
1 answers
Вы можете настроить таргетинг на определенные страницы, используя их соответствующие дескрипторы.
Добавьте следующее в свой local.xml
<checkout_cart_index>
<reference name="header">
<block type="menu/block" name="custom_menu" template="custommenu/template.phtml"/>
</reference>
</checkout_cart_index>
<checkout_onepage_index>
<reference name="header">
<block type="menu/block" name="custom_menu" template="custommenu/template.phtml"/>
</reference>
</checkout_onepage_index>
<customer_account>
<reference name="header">
<block type="menu/block" name="custom_menu" template="custommenu/template.phtml"/>
</reference>
</customer_account>
<customer_logged_out>
<remove name="custom_menu"/>
</customer_logged_out>
Предполагая, что меню будет добавлено в header
вашего интернет-магазина, это добавит его в раздел "Корзина", "Оформление заказа" и "Учетная запись клиента" ТОЛЬКО для зарегистрированных пользователей.
Я использовал дескриптор customer_logged_out
для удаления меню, когда пользователь не вошел в систему. Примерно в том же духе, что вы описали в своем вопросе.
Теперь вы можете вызвать меню, добавив следующий код в вашем header.phtml
, где вы хотите отобразить меню.
<?php echo $this->getChildHtml('custom_menu');?>