首页>Magento>source

我试图覆盖Mage_Checkout的CartController的动作addAction(),但它没有发生覆盖.以下是方案,

Community Module overriding just "protected function _goBack()" of Mage of CartController.php

<checkout>
   <args>
      <modules>
           <Idev_OneStepCheckout before="Mage_Checkout">
              Idev_OneStepCheckout
           </Idev_OneStepCheckout>
     </modules>
  </args>
</checkout>

Local Module overriding just "AjaxController.php"of community Module

<onestepcheckout>
    <args>
      <modules>
         <WoofDigital_OneStepCheckoutPhl before="Idev_OneStepCheckout">
             WoofDigital_OneStepCheckoutPhl
        </WoofDigital_OneStepCheckoutPhl>
     </modules>
   </args>
</onestepcheckout>

直到这里一切正常.但现在我需要在单独的本地模块中覆盖CartController.php的addAction().

Second Local Module to override "CartController.php" 's addAction()

<onestepcheckout>
  <args>
    <modules>
        <JakeSharp_Waterlee before="Idev_OneStepCheckout">
            JakeSharp_Waterlee
        </JakeSharp_Waterlee>
    </modules>
  </args>
</onestepcheckout>

CartController.php

require_once  Mage::getModuleDir('controllers', 'Idev_OneStepCheckout').DS.'CartController.php';
class JakeSharp_Waterlee_CartController extends Idev_OneStepCheckout_CartController {
  public function addAction(){
     die('Dead');
  }
}

但它没有在这个控制器中做..如果我犯了任何错误,任何人都可以指导我...谢谢

最新回答
  • 2019-12-5
    1 #

    你需要用新的本地模块覆盖woofDigital模块.您还应该在 app/etc/modules/moduleName.xml中正确设置模块依赖关系   文件也是.这样你的配置就会以正确的顺序加载。

  • 2019-12-5
    2 #

    你需要覆盖 WoofDigital_OneStepCheckoutPhl   而不是 Idev_OneStepCheckout   本地模块中的模块.即

    <onestepcheckout>
      <args>
        <modules>
            <JakeSharp_Waterlee before="WoofDigital_OneStepCheckoutPhl">
                JakeSharp_Waterlee
            </JakeSharp_Waterlee>
        </modules>
      </args>
    </onestepcheckout>
    

    你的控制器,你可以保持原样,因为 WoofDigital_OneStepCheckoutPhl   不要重写 CartController.php

    但是您需要在本地模块中添加依赖项,以便按顺序正确加载它们.所以这样做:

    档案: app/etc/modules/JakeSharp_Waterlee.xml

    <config>
        <modules>
            <JakeSharp_Waterlee>
                <active>true</active>
                <codePool>local</codePool>
                <depends>
                    <WoofDigital_OneStepCheckoutPhl />
                    <Idev_OneStepCheckout />
                </depends>
            </JakeSharp_Waterlee>
        </modules>
    </config>
    

  • magento2:在后端使用js显示错误消息
  • ce 1.9.1.0:在Ajax中应用Magento优惠券而不重定向到购物车页面