我尝试用一个模块覆盖 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()
如果我在课堂上什么都不做,我会收到同样的错误消息