【问题标题】:Magento Catalog ProductController rewriteMagento 目录 ProductController 重写
【发布时间】:2013-09-11 10:26:47
【问题描述】:

我尝试使用模块覆盖 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
}

当我尝试访问我的产品,查看重写做了什么时,我得到了这个错误:

致命错误:在非对象上调用成员函数 getMetaTitle() 在 C:\xampp\htdocs\igneum\app\code\core\Mage\Catalog\Block\Product\View.php 第 56 行

如果我在课堂上什么都不做,我也会收到同样的错误消息

【问题讨论】:

    标签: php magento magento-1.7


    【解决方案1】:

    你可以像下面这样使用

    编辑你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__;
          }
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2017-10-25
      • 2011-07-15
      • 2014-06-25
      • 1970-01-01
      • 2012-07-02
      • 2012-02-14
      • 2012-11-22
      • 1970-01-01
      • 2013-11-21
      相关资源
      最近更新 更多