magento 1 版本block、controller、model的重写

本文详细介绍了如何在Magento中重写Controller、Block及Model。包括配置文件修改、具体实现步骤等,帮助开发者更好地掌握Magento核心组件的定制方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一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
{

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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值