单击常规保存按钮,绕过Magento购物车并重定向到onepagecheckout
我想通过单击一个普通的保存按钮绕过magento购物车,该按钮通过ajax提交表单,然后通过绕过购物车(如使用windows.location.href)重定向到onepage签出…请帮助 您可以为此目的创建观察者,如下所示: 您的配置如下所示:单击常规保存按钮,绕过Magento购物车并重定向到onepagecheckout,magento,cart,Magento,Cart,我想通过单击一个普通的保存按钮绕过magento购物车,该按钮通过ajax提交表单,然后通过绕过购物车(如使用windows.location.href)重定向到onepage签出…请帮助 您可以为此目的创建观察者,如下所示: 您的配置如下所示: <frontend> <events> <checkout_cart_add_product_complete> <observers> <packagename
<frontend>
<events>
<checkout_cart_add_product_complete>
<observers>
<packagename_modulename_observer>
<type>singleton</type>
<class>packagename_modulename/observer</class>
<method>addToCartComplete</method>
</packagename_modulename_observer>
</observers>
</checkout_cart_add_product_complete>
</events>
</frontend>
第二个更简单、更公平的方法是:
转到CartController.php中的app/code/core/Mage/Checkout/controllers/
复制此文件并搜索方法
protected function _goBack()
改变
$this->_redirect('checkout/cart');
到
希望这些方法能帮助您完成您想要的过程。我也一直在尝试这样做。我推荐SKVs第二个解决方案(编辑CartController),但当然不应该编辑核心。覆盖控制器并不像覆盖模型对象那样简单 虽然您可以将例如
app\code\core\Mage\Checkout\Model\Cart.php
复制到app\code\local\Mage\Checkout\Model\Cart.php
,进行编辑并完成它,但重写控制器类并不是那么简单。据我所知,您必须在自己的模块中完成此操作。这就是我所做的
制作了一个模块:app\code\local\Companyname\Checkout
已将etc\config.xml添加到此模块:
<config>
<modules>
<Companyname_Checkout>
<version>0.1.0</version>
</Companyname_Checkout>
</modules>
<frontend>
<routers>
<checkout>
<args>
<modules>
<Companyname_Checkout before="Mage_Checkout">Companyname_Checkout</Companyname_Checkout>
</modules>
</args>
</checkout>
</routers>
</frontend>
</config>
致:
最后,按照SKV的建议对_goBack函数进行更改。感谢您的回复…我已经解决了问题..问题不是代码…原因是产品被禁用..这就是购物车没有显示该产品的原因。。。。
$this->_redirect('checkout/onepage');
<config>
<modules>
<Companyname_Checkout>
<version>0.1.0</version>
</Companyname_Checkout>
</modules>
<frontend>
<routers>
<checkout>
<args>
<modules>
<Companyname_Checkout before="Mage_Checkout">Companyname_Checkout</Companyname_Checkout>
</modules>
</args>
</checkout>
</routers>
</frontend>
</config>
class Mage_Checkout_CartController extends Mage_Core_Controller_Front_Action
require_once(Mage::getModuleDir('controllers','Mage_Checkout').DS.'CartController.php');
class Pixelkracht_Checkout_CartController extends Mage_Checkout_CartController