Magento:重写块不工作
我试图从magento重写核心文件。 不知何故,它不会覆盖代码。我试图覆盖函数getProduct() Tipfix/Block/Product/View.phpMagento:重写块不工作,magento,overwrite,Magento,Overwrite,我试图从magento重写核心文件。 不知何故,它不会覆盖代码。我试图覆盖函数getProduct() Tipfix/Block/Product/View.php <?php class WP_Tipfix_Block_Catalog_Product_View extends Mage_Catalog_Block_Product_View { public function getProduct() { if (!Mage::registry('pro
<?php
class WP_Tipfix_Block_Catalog_Product_View extends Mage_Catalog_Block_Product_View
{
public function getProduct()
{
if (!Mage::registry('product') && $this->getProductId()) {
$product = Mage::getModel('catalog/product')->load($this->getProductId());
Mage::register('product', $product);
}
//return Mage::registry('product');
}
}
您的类是WP\u Tipfix\u Block\u Catalog\u Product\u View
,这意味着它必须位于文件夹WP/Tipfix/Block/Catalog/Product/View.php
中。您必须将产品目录移动到该位置名为Catalog的新目录中,或者将类(类和XML中的)重命名为WP\u Tipfix\u Block\u Product\u View
。我建议移动该文件。请将模块的config.xml
内容更改为此,我确信它应该可以工作:-
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<WP_Tipfix>
<version>1.0.0</version>
</WP_Tipfix>
</modules>
<global>
<blocks>
<wptipfix>
<class>WP_Tipfix_Block</class>
</wptipfix>
<catalog>
<rewrite>
<product_view>WP_Tipfix_Block_Catalog_Product_View</product_view>
</rewrite>
</catalog>
</blocks>
</global>
</config>
1.0.0
WP_Tipfix_区块
WP_Tipfix_块_目录_产品_视图
希望能有帮助
更新:-
在Ben发表评论后,我觉得我应该提到OP也必须使用Max在他的评论中提到的解决方案。因此OP需要共同努力来解决他的问题。谢谢你解决了这个问题。伟大的基于OP的原始代码,此解决方案无法修复此问题。@Ben-请仔细查看config.xml
文件内容,发现其中没有提到任何config
节点,也没有提到模块
节点。所以我提供了这个解决方案,事实上,OP自己评论说它解决了他的问题。那么,你能告诉我,我做错了什么吗?正如你在编辑中猜测的那样,重写的类名将由自动加载程序解析为WP/Tipfix/Block/Catalog/Product/View.php
——因此Max的答案是正确的解决方案,假设OP为了简洁而剪切配置。另外,版本号和类组对于重写来说是完全多余的。@Ben-OP在config.xml
文件中发布的内容不是一个片段,而是整页的源代码,否则OP不会在这个链接中注释掉:。另外,如果你认为我的帖子在任何地方都是错误的,那么请将其标记为错误&你可以选择删除。我不会对此感到不安。仅供参考,除非您正在创建块类,否则类组
是不必要的。如果这不起作用,您还必须清除缓存!
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<WP_Tipfix>
<version>1.0.0</version>
</WP_Tipfix>
</modules>
<global>
<blocks>
<wptipfix>
<class>WP_Tipfix_Block</class>
</wptipfix>
<catalog>
<rewrite>
<product_view>WP_Tipfix_Block_Catalog_Product_View</product_view>
</rewrite>
</catalog>
</blocks>
</global>
</config>