覆盖CompareController

时间:2012-03-08 08:28:46

标签: magento rewrite

我尝试覆盖Core CompareController。不知怎的,我没有完成它。 我在Magento网站上做了一些研究:http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/how_to_overload_a_controller

但它没有帮助覆盖控制器。

本地/ WP /比较的/ etc / config.xml中

<?xml version="1.0"?>
<config>
    <modules>
        <WP_Compare>
            <version>0.1.0</version>
        </WP_Compare>
    </modules>
    <global>
        <rewrite>
            <WP_Compare_Catalog_Product_Compare>
                <from><![CDATA[#^/catalog/product/compare/#]]></from>
                <to>/compare/catalog/product/compare/</to>
            </WP_Compare_Catalog_Product_Compare>
        </rewrite>
    </global>
</config>

本地/ WP /目录/控制器/产品/ CompareController.php

<?php

require_once "Mage/Catalog/controllers/Product/CompareController.php";
class WP_Compare_Catalog_Product_CompareController extends Mage_Catalog_Product_CompareController
{

    public function addAction()
    {
        echo 'Lets GO!';
    }

}

?>

有人可以帮我解决这个问题吗?

谢谢。

的Gr。 莱克斯

2 个答案:

答案 0 :(得分:4)

这是我的问题的解决方案。

<?xml version="1.0"?>
<config>
    <modules>
       <WP_Compare>
           <version>0.1.0</version>
       </WP_Compare>
    </modules>
    <frontend>
        <routers>
            <catalog>
                <use>standard</use>
                <args>
                    <modules>
                        <WP_Compare before="Mage_Catalog">WP_Compare_Catalog</WP_Compare>
                    </modules>
                </args>
            </catalog>
        </routers>
    </frontend>
</config>

答案 1 :(得分:-1)

您可能需要在您的etc.xml中执行类似的操作:

 <frontend>
  <routers>
     <customer>
        <args>
           <modules>
              <Mymodule_Customer before="Mage_Customer">Mymodule_Customer</Mymodule_Customer>
           </modules>
        </args>
     </customer>
  </routers>
</frontend>