我试图用一个模块覆盖magento Mage\Catalog\controllers\ProductController.php。在我的模块中,我尝试如下:
\etc\config.xml
<global>
<rewrite>
<aion_fbpage_catalog_productcontroller>
<from><![CDATA[#^catalog/product/#]]></from> <!-- Mage_Catalog_ProductController -->
<to>fbpage/catalog_product/</to> <!-- Aion_FbPage_Catalog_ProductController -->
</aion_fbpage_catalog_productcontroller>
</rewrite>
</global>
<frontend>
<routers>
<fbpage>
<use>standard</use>
<args>
<module>Aion_FbPage</module>
<frontName>fbPage</frontName>
</args>
</fbpage>
</routers>
</frontend>\controllers\Catalog\ProductController.php
<?php
require_once "Mage/Catalog/controllers/ProductController.php";
class Aion_FbPage_Catalog_ProductController extends Mage_Catalog_ProductController
{
// My override stuff
}当我试图达到我的产品,看看重写做了什么,我得到了这个错误:
致命错误:在第56行的C:\xampp\htdocs\igneum\app\code\core\Mage\Catalog\Block\Product\View.php中调用非对象上的成员函数getMetaTitle()
如果我在课堂上什么都不做,我会得到同样的错误消息。
发布于 2013-09-11 10:38:25
您可以使用如下所示
编辑你的Package/Module/etc/config.xml
<?xml version="1.0"?>
<config>
... Your Other config here ....
<frontend>
<routers>
<catalog>
<args>
<modules>
<Package_Catalog before="Mage_Catalog">Package_Catalog</Package_Catalog>
</modules>
</args>
</catalog>
</routers>
</frontend>
</config>你的控制器已经准备好了。
include(Mage::getBaseDir()."/app/code/core/Mage/Catalog/controllers/ProductController.php");
class Package_Catalog_ProductController extends Mage_Catalog_ProductController
{
public function viewAction(){
echo __METHOD__;
}
}
?>https://stackoverflow.com/questions/18738693
复制相似问题