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
谢谢大家的帮助!
我在覆盖控制器时遇到问题:
\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
谢谢大家的帮助!