一Controler重写:
1、在配置文件config.xml中:
(1)、rewrite frontend controller:
<frontend>

<routers>
    <checkout>/*Namespace*/
        <args>
           <modules>
              <Silk_Checkout before="Mage_Checkout">Silk_Chekcout</Silk_Checkout>/*指出Silk_Checkout模块的优先级高与Mage_Checkout*/
           </modules>
       </args>
    </checkout>
</routers>

</frontend>
(2)、rewrite admin controller:
<admin>

<routers>
    <adminhtml>/*Namespace*/
        <args>
            <modules>
                <Silk_Test before="Mage_Adminhtml">Silk_Test</Silk_Test>
            </modules>
        </args>
    </adminhtml>
</routers>

</admin>
2、在创建controller.php文件
(1)rewrite frontend controller
app/code/local/Silk/Checkout/contronllers/CartController.php:
require 'Mage/Checkout/controllers/CarttController.php';
class Silk_Checkout_CartController extends Mage_Checkout_CartController
{
public function IndexAction()
{

/*重写逻辑*/

}
}
(2)rewrite admin controller:
app/code/local/Silk/Test/contronllers/Adminhtml/IndexController.php:
require 'Mage/Adminhtml/controllers/IndexController.php';
class Silk_Test_Adminhtml_IndexController extends Mage_Adminhtml_IndexController
{
public function IndexAction()
{

/*重写逻辑*/

}
}
二、Block重写:
1、在config.xml中进行配置(以重写checkout中的cart.php为例):
app/code/local/Silk/Chechout/etc/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>

<modules>
    <Silk_Checkout>
        <version>0.1.0</version>
    </Silk_Checkout>
</modules>
<global>
    <blocks>
        <checkout>
               <rewrite>
                   <cart>Silk_Checkout_Block_Cart</cart>
               </rewrite>
        </checkout>
    </blocks>
</global>

</config>
2、在app/code/local/Silk/Checkout/Block/Cart.php:
class Silk_Checkout_Block_Cart extends Mage_Checkout_Block_Cart
{

/*重写你你需要的方法或者天加新的方法*/

}
三 Model重写:
1、在config.xml中进行配置(以重写checkout中的cart.php为例):
app/code/local/Silk/Chechout/etc/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>

<modules>
    <Silk_Checkout>
        <version>0.1.0</version>
    </Silk_Checkout>
</modules>
<global>
    <models>
        <checkout>
               <rewrite>
                   <cart>Silk_Checkout_Model_Cart</cart>
               </rewrite>
        </checkout>
    </models>
</global>

</config>
2、在app/code/local/Silk/Checkout/Model/Cart.php:
class Silk_Checkout_Model_Cart extends Mage_Checkout_Model_Cart
{

/*重写你你需要的方法或者添加新的方法*/

}


Abbott
103 声望8 粉丝

magento二次开发,欢迎交流


引用和评论

0 条评论