Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击常规保存按钮,绕过Magento购物车并重定向到onepagecheckout_Magento_Cart - Fatal编程技术网

单击常规保存按钮,绕过Magento购物车并重定向到onepagecheckout

单击常规保存按钮,绕过Magento购物车并重定向到onepagecheckout,magento,cart,Magento,Cart,我想通过单击一个普通的保存按钮绕过magento购物车,该按钮通过ajax提交表单,然后通过绕过购物车(如使用windows.location.href)重定向到onepage签出…请帮助 您可以为此目的创建观察者,如下所示: 您的配置如下所示: <frontend> <events> <checkout_cart_add_product_complete> <observers> <packagename

我想通过单击一个普通的保存按钮绕过magento购物车,该按钮通过ajax提交表单,然后通过绕过购物车(如使用windows.location.href)重定向到onepage签出…请帮助

您可以为此目的创建观察者,如下所示:

您的配置如下所示:

<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