Magento-重写Mage\u目录\u块\u导航
我试图重写Mage_Catalog_Block_导航类,但无法使其正常工作。当我刷新网站(清除缓存等),然后检查system.log文件时,它是空的。。。(我也尝试过在html中添加代码,但也没有成功) 我目前有以下情况: 公司/模块/区块/目录/导航Magento-重写Mage\u目录\u块\u导航,magento,overriding,magento-1.9.2.1,Magento,Overriding,Magento 1.9.2.1,我试图重写Mage_Catalog_Block_导航类,但无法使其正常工作。当我刷新网站(清除缓存等),然后检查system.log文件时,它是空的。。。(我也尝试过在html中添加代码,但也没有成功) 我目前有以下情况: 公司/模块/区块/目录/导航 <?php class Company_Module_Block_Catalog_Navigation extends Mage_Catalog_Block_Navigation { public function ren
<?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>
<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/local.xml中
<global>
<blocks>
<catalog>
<rewrite>
<navigation>Company_Module_Block_Navigation</navigation>
</rewrite>
</catalog>
</blocks>
</global>
公司模块块导航
我想这会有帮助的
请注意:通过在local.xml中添加上述代码,可以使重写成为全局的,这并不总是必需的,但这将帮助您确定重写是否有效
网站上还有另一种可能的扩展冲突。进一步搜索后,发现我使用的模板没有使用此块,这将解释为什么重写没有产生任何结果…尝试以下步骤:
1/将这些代码添加到Company/Module/Block/Catalog/Navigation.php文件中
protected function _construct(){
Mage::log("it's here");
}
2/创建子类别
3/在前端,转到子类别,然后检查日志文件我认为您的代码中有一个错误,特别是在这一行代码中:
Mage:log("running here");
应该是:
Mage::log("running here");
希望有此帮助。如果尚未创建Company_Module.xml文件,请创建该文件。看看我的最新答案。我尝试了上面的代码,但没有成功。我想这意味着重写根本不起作用?请在根目录中创建一个php文件,并尝试打印以下代码:包括'app/Mage.php';回声“;打印(Mage::app()->getConfig()->getXpath('//global//rewrite');出口如果在这里搜索你的overide类,如果没有,那么其他东西是不正确的
Mage::log("running here");