[英]Magento Catalog ProductController rewrite
I try to override the magento Mage\\Catalog\\controllers\\ProductController.php with a module. 我尝试用模块覆盖magento Mage \\ Catalog \\ controllers \\ ProductController.php。 In my module i try this:
在我的模块中我试试这个:
\\etc\\config.xml \\等\\ 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 \\控制器\\目录\\ ProductController.php
<?php
require_once "Mage/Catalog/controllers/ProductController.php";
class Aion_FbPage_Catalog_ProductController extends Mage_Catalog_ProductController
{
// My override stuff
}
And when i try to reach my product, to see what the rewrite does, i get this error: 当我尝试访问我的产品时,看看重写的内容,我收到此错误:
Fatal error: Call to a member function getMetaTitle() on a non-object in C:\\xampp\\htdocs\\igneum\\app\\code\\core\\Mage\\Catalog\\Block\\Product\\View.php on line 56
致命错误:在第56行的C:\\ xampp \\ htdocs \\ igneum \\ app \\ code \\ core \\ Mage \\ Catalog \\ Block \\ Product \\ View.php中的非对象上调用成员函数getMetaTitle()
I get the same error message, if i do nothing in my class 如果我在课堂上什么也没做,我会得到同样的错误信息
you can use like below 你可以使用如下
Edit you Package/Module/etc/config.xml
编辑
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>
Now your controller already ready. 现在您的控制器已准备就绪
include(Mage::getBaseDir()."/app/code/core/Mage/Catalog/controllers/ProductController.php");
class Package_Catalog_ProductController extends Mage_Catalog_ProductController
{
public function viewAction(){
echo __METHOD__;
}
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.