magento - 是否可以按商店定义Magento布局更新

标签 magento

我只有一个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>

最佳答案

正如Anton所建议的那样,为商店设置一个新的布局主题。对于整个站点范围内的+商店范围内的任何事物,另一种方法是使用商店布局句柄-就像每个商店都应用的<default>句柄。如果您的商店代码(在“管理商店”>“商店 View ”下)为'foo',则商店布局句柄将为<STORE_foo>

引用Mage_Core_Controller_Varien_Action::addActionLayoutHandles()

关于magento - 是否可以按商店定义Magento布局更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9787089/

相关文章:

magento - 从 Magento 集合中输出原始 SQL 查询

php - 在 CPanel 上安装 PDO_MYSQL PHP 扩展?

magento - 请勿将运费包含在购物车中显示的总成本中

magento - 如何获取Magento中的cms页面列表?

magento - Mage::getStoreConfig 始终为我的自定义模块管理选项返回 null

magento - 创建发货不会更新商品发货数量且订单未完成

magento - 如何更改 Magento 模块的页面标题?

Magento 一个订单可使用多个优惠券代码,无需延期

php - 在magento中按属性按颜色过滤产品的代码

search - Magento - 自动完成建议搜索不起作用