У меня есть одна установка Magento, на которой работают два разных веб-сайта. Один продает электронные книги, а другой нет, поэтому бизнес-группа хотела бы, чтобы ссылка «Мои загрузки» была удалена из блока навигации для клиентов в области «Моя учетная запись» приложения.
Я вижу ссылку, определенную в файле design/frontend/base/layout/downloadable.xml, но не вижу способа, который позволил бы мне отключить ссылку только на одном из веб-сайтов. Очевидно, я мог бы переопределить этот XML, чтобы отключить его глобально, но мне нужно, чтобы изменение было ограниченным.
Как определить переопределение макета на одном веб-сайте или сохранить в многосайтовой установке Magento?
Основываясь на приведенных ниже ответах, я сделал следующее:
Создал app/local/Mage/Customer/Block/Account/Navigation.php и добавил метод removeLink(), которого нет в основном коде.
Если я внесу следующие изменения в local.xml, ссылка для скачивания будет удалена:
<?xml version="1.0" encoding="UTF-8"?>
<layout>
<default>
<remove name="catalog.compare.sidebar"/>
</default>
<customer_account>
<reference name="customer_account_navigation">
<action method="removeLink" translate="label" module="downloadable"> <name>downloadable_products</name></action>
</reference>
</customer_account>
</layout>
Но если попытаться настроить таргетинг на конкретное хранилище, это не так. Например.
<?xml version="1.0" encoding="UTF-8"?>
<layout>
<default>
<remove name="catalog.compare.sidebar"/>
</default>
<STORE_mm>
<customer_account>
<reference name="customer_account_navigation">
<action method="removeLink" translate="label" module="downloadable"> <name>downloadable_products</name></action>
</reference>
</customer_account>
</STORE_mm>
</layout>