【问题标题】:Need to remove the title from a specific magento category page需要从特定的 magento 类别页面中删除标题
【发布时间】:2015-09-01 20:11:22
【问题描述】:

问题

我需要从特定的非产品类别页面中删除类别名称或标题,但找不到参考或块名称以通过布局更新将其删除。我已经找到了可以覆盖和注释掉以从每个类别页面中删除标题的代码,但这不起作用,因为我需要大多数类别页面上的标题。

我想要做什么

在过去,我能够打开带有块名称的模板路径提示,花一秒钟的时间研究并找到了一个删除块的好方法。这是我以前用过的那种代码:

<reference name="Mage_Page_Block_Html_Breadcrumbs">
   <remove name="breadcrumbs"/>
</reference>

TL;DR

我只需要一种简单的方法来从特定类别中删除类别标题名称。如果我对更新 xml 的想法是垃圾,我会接受任何建议。感谢您的帮助。

【问题讨论】:

    标签: magento


    【解决方案1】:

    我首先创建一个自定义模块,覆盖 Mage_Catalog_Block_Category_View 块并执行以下操作:

    app/local/Yournamespace/Titlemodule/etc/config.xml

    <config>
    <!-- .... -->
        <global>
            <blocks>
                <titlemodule>
                    <class>Yournamespace_Titlemodule_Block</class>
                </titlemodule>
                <catalog>
                    <rewrite>
                        <product_view>Yournamespace_Titlemodule_Block_Category_View</product_view>
                    </rewrite>
                </catalog>
            </blocks>
            <!-- ... -->
    </config>
    

    app/local/Yournamespace/Titlemodule/Block/Category/View.php

    class Yournamespace_Titlemodule_Block_Category_View extends Mage_Catalog_Block_Category_View
    {
        protected function _prepareLayout()
        {
            parent::_prepareLayout();
            $category  = $this->getCurrentCategory();  // if needed
            $headBlock = $this->getLayout()->getBlock('head');
            // custom logic here
            $headBlock->setTitle($this->__('New title, or none'));
            return $this;
        }
    }
    

    它将为您提供在操作页面上的任何块之前运行自定义逻辑的大量可能性。

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-25
      • 1970-01-01
      相关资源
      最近更新 更多