Magento 我如何覆盖“引用”;addAction();app\code\core\Mage\Checkout\controllers下的函数
我试图在将产品添加到购物车时向会话变量添加一些数据 我尝试将“app\code\core\Mage\Checkout\controllers”下的“CartController.php”复制到 “local\Mage\Checkout\controllers”,但它实际上并没有覆盖控制器 有人能给我一些提示吗 非常感谢。您可以创建一个“Event Oberserver”来触发事件 创建以下文件夹:Magento 我如何覆盖“引用”;addAction();app\code\core\Mage\Checkout\controllers下的函数,magento,Magento,我试图在将产品添加到购物车时向会话变量添加一些数据 我尝试将“app\code\core\Mage\Checkout\controllers”下的“CartController.php”复制到 “local\Mage\Checkout\controllers”,但它实际上并没有覆盖控制器 有人能给我一些提示吗 非常感谢。您可以创建一个“Event Oberserver”来触发事件 创建以下文件夹: app/code/local/[myMagento]/EventTest/etc app/cod
- app/code/local/[myMagento]/EventTest/etc
- app/code/local/[myMagento]/EventTest/Model
<?xml version="1.0"?>
<config>
<modules>
<myMagento_EventTest>
<active>true</active>
<codePool>local</codePool>
</myMagento_EventTest>
</modules>
</config>
<?xml version="1.0"?>
<config>
<modules>
<myMagento_EventTest>
<version>0.1.0</version>
</myMagento_EventTest>
</modules>
<frontend>
<events>
<checkout_cart_product_add_after>
<observers>
<myMagento_EventTest_Model_Observer>
<type>singleton</type>
<class>myMagento_EventTest_Model_Observer</class>
<method>MyTestMethod</method>
</myMagento_EventTest_Model_Observer>
</observers>
</checkout_cart_product_add_after>
</events>
</frontend>
</config>
真的
地方的
在/EventTest/etc文件夹下创建config.xml文件,并放置以下内容:
<?xml version="1.0"?>
<config>
<modules>
<myMagento_EventTest>
<active>true</active>
<codePool>local</codePool>
</myMagento_EventTest>
</modules>
</config>
<?xml version="1.0"?>
<config>
<modules>
<myMagento_EventTest>
<version>0.1.0</version>
</myMagento_EventTest>
</modules>
<frontend>
<events>
<checkout_cart_product_add_after>
<observers>
<myMagento_EventTest_Model_Observer>
<type>singleton</type>
<class>myMagento_EventTest_Model_Observer</class>
<method>MyTestMethod</method>
</myMagento_EventTest_Model_Observer>
</observers>
</checkout_cart_product_add_after>
</events>
</frontend>
</config>
0.1.0
独生子女
myMagento\u事件测试\u模型\u观察者
MyTestMethod
在/EventTest/model目录下创建模型类文件observer.php,并放置以下内容
<?php
class myMagento_EventTest_Model_Observer {
public function MyTestMethod($observer) {
$event = $observer->getEvent(); //Fetches the current event
$product = $event->getProduct();
$eventmsg = "Current Event Triggered : " . $event->getName() . "
Currently Added Product : " . $product->getName();
//Adds Custom message to shopping cart
echo Mage::getSingleton("checkout/session")->addSuccess($eventmsg);
//Your Custom Logic Here
//you can use print_r($product) here to get more details
}
}
我发现,这使我们能够覆盖CartController.php addAction()函数。。。这正是我需要的
希望这能帮助有需要的人
巴兰谢谢你的逻辑。。实际上,我正在尝试传递addtocart url中的一些参数,如“”,并在“CartController.php”中的“addAction”中检索此myparams。。。所以我需要覆盖这个控制器。。如果我将此控制器复制到本地文件夹,它将不工作。。关于这个问题的任何建议???@balanv正如您在最后的代码部分中所看到的,您应该在其中编写您的业务逻辑。你为此做了什么吗?对不起,我对addAction一无所知。当产品添加到购物车时,我需要存储一些自定义参数,我会在url中发送这些参数。。。无论如何,谢谢你的Eventlistener示例。。我可以在需要的地方用这个。。。。谢谢奥乌兹·切勒克德姆