Magento -重写Mage_目录_块_导航

daupos2t  于 2022-11-12  发布在  其他
关注(0)|答案(5)|浏览(147)

我尝试重写类 Mage _Catalog_Block_Navigation,但无法使其工作。当我刷新网站(清除缓存等),然后检查system.log文件时,它是空的...(我也尝试向html添加代码,但也没有工作)
我目前有以下项目:
公司/模块/块/目录/导航

<?php

class Company_Module_Block_Catalog_Navigation
    extends Mage_Catalog_Block_Navigation
{
    public function renderCategoriesMenuHtml($level = 0, $outermostItemClass = '', $childrenWrapClass = '')
    {
        Mage:log("running here");
        return parent::renderCategoriesMenuHtml($level, $outermostItemClass, $childrenWrapClass);

    }
}

config.xml

<global>
    ...
    <blocks>
        ...
        <catalog>
            <rewrite>
                <navigation>Company_Module_Block_Catalog_Navigation</navigation>
            </rewrite>
        </catalog>
        ...
    </blocks>
    ...
</global>
bq8i3lrv

bq8i3lrv1#

好吧,在进一步搜索之后,发现这个块没有被我正在使用的模板使用,这就解释了为什么重写没有产生任何结果...

9lowa7mx

9lowa7mx2#

我认为你的代码中有一个错误,特别是在这一行代码中:

Mage:log("running here");

它应该是:

Mage::log("running here");
4nkexdtk

4nkexdtk3#

请尝试以下步骤:
1.将这些代码添加到文件Company/Module/Block/Catalog/Navigation.php中
函数_construct(){ Mage ::log(“它在这里”);}
1.创建子类别
1.在前端,转到子类别,然后检查日志文件

oxiaedzo

oxiaedzo4#

您需要按如下方式注册块:
在应用程序/etc/local. xml中

<global>
    <blocks>
        <catalog>
            <rewrite>
                <navigation>Company_Module_Block_Navigation</navigation>
            </rewrite>
        </catalog>
    </blocks>
</global>

请注意,通过在local.xml中添加上述代码,可以使重写成为全局性的,这并不总是必要的,但这将帮助您确定重写是否有效。
网站上还有另一种扩展冲突的可能性。

xoshrz7s

xoshrz7s5#

config.xml

<global>
    <blocks>
      <catalog>
        <rewrite>
            <navigation>Company_Module_Block_Navigation</navigation>
        </rewrite>
    </catalog>
  </blocks>
</global>

您块文件将如下所示。

<?php
   class Company_Module_Block_Navigation extends Mage_Catalog_Block_Navigation
   {
     // some code
   }
?>

或者,您可以在块文件中尝试此代码

<?php
   require_once 'Mage/Catalog/block/Navigation.php';
   class Company_Module_Block_Navigation extends Mage_Catalog_Block_Navigation

在app/etc/modules中创建公司_模块. xml

<?xml version="1.0"?>
  <config>
    <modules>
     <Company_Module>
        <active>true</active>
        <codePool>local</codePool>
    </Company_Module>
   </modules>
  </config>

相关问题