我尝试从magento重写核心文件。 不知何故,它不会覆盖代码。我尝试覆盖函数getProduct()。
Tipfix /砌块/产品/ View.php
<?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');
}
}
Tipfix的/ etc / config.xml中
<blocks>
<WP_Tipfix>
<class>WP_Tipfix_Block</class>
</WP_Tipfix>
<catalog>
<rewrite>
<product_view>WP_Tipfix_Block_Catalog_Product_View</product_view>
</rewrite>
</catalog>
</blocks>
我知道我做错了什么。
的Gr。 莱克斯
答案 0 :(得分:9)
您的课程为WP_Tipfix_Block_Catalog_Product_View
,这意味着该课程必须位于WP/Tipfix/Block/Catalog/Product/View.php
文件夹中。您必须将Product目录移动到该位置的名为Catalog的新目录中,或者将您的类(包括类和XML)重命名为WP_Tipfix_Block_Product_View
。我建议移动文件。
答案 1 :(得分:3)
请将模块的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>
希望它有所帮助。
<强>更新: - 强> 在 Ben 的评论之后,我觉得我应该提到OP还必须使用他的answer中 Max 所提到的解决方案。所以OP需要共同努力来解决他的问题。