Magento 在 onepageController.php 中覆盖 class

Magento override class in onepageController.php

我在覆盖控制器时遇到问题:

\app\code\core\Mage\Checkout\controllers\OnepageController.php

我试图通过在此处创建新文件来做到这一点:

\app\code\local\Mage\Checkout\controllers\OnepageController.php

什么都没发生。

然后我尝试通过创建新插件来做到这一点:

路径:\app\etc\modules\MyExtensions_Checkout.xml

<config>
<modules>
    <MyExtensions_Checkout>
        <active>true</active>
        <codePool>local</codePool>
        <depends>
            <Mage_Checkout/>
        </depends>
    </MyExtensions_Checkout>
</modules>

路径:\app\code\local\MyExtensions\etc\config.xml

<frontend>
    <routers>
        <checkout>
            <args>
                <modules>
                    <MyExtensions_Checkout before="Mage_Checkout">MyExtensions_Checkout</MyExtensions_Checkout>
                </modules>
            </args>
        </checkout>
    </routers>
</frontend>

路径:app\code\local\MyExtensions\Checkout\controllers\CartController.php

class MyExtensions_Checkout_CartController extends Mage_Checkout_Controller_Action{}

模块出现在管理面板中,但覆盖仍然不起作用。 我的代码有什么问题? 提前致谢。

路径:\app\etc\modules\MyExtensions_Checkout.xml

<?xml version="1.0"?>
 <config>
  <modules>
    <MyExtensions_Checkout>
     <version>1.0</version>
    </MyExtensions_Checkout>
  </modules>

  <frontend>
   <routers>
    <checkout>
     <args>
      <modules>
        <MyExtensions_Checkout before="Mage_Checkout">MyExtensions_Checkout</MyExtensions_Checkout>
      </modules>
     </args>
    </checkout>
   </routers>
 </frontend>
 </config>

路径:app\code\local\MyExtensions\Checkout\controllers\OnepageController.php

require_once 'Mage/Checkout/controllers/OnepageController.php';
class MyExtensions_Checkout_OnepageController extends Mage_Checkout_Controller_Action{}

问题已解决。

对不起,那是我的错,我的 Extention 里多了一个文件夹 所以我只是改变了:

path : \app\code\local\MyExtensions\etc\config.xml

path : \app\code\local\MyExtensions\Checkout\etc\config.xml

谢谢大家的帮助!