繁体   English   中英

Magento 1.9添加参数添加到购物车网址

[英]Magento 1.9 add parameter to add to cart url

我正在进行Magento 1.9安装,它必须有一个Direct Checkout以及Add To Cart按钮。 两者之间的主要(也是唯一)差异是直接结账链​​接应该跳过购物车并在点击时重定向到结帐。 我使用此代码来实现功能,正如您所看到的,这里有一条适用的注释

“我需要做的就是将参数/结帐/放入网址”。 这让我疯狂。

所以这是Observer文件中的检查

if (Mage::app()->getRequest()->getParam('checkout')) {

看起来很简单,但我一直在打破网络,并在网上搜索如何“addParam”,以便此检查返回true。

这是我想要这个功能的表单(动作):

<form action="<?php echo $this->helper('checkout/cart')->getAddUrl($_product) ?>checkout/" method="post" id="product_addtocart_form" <?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>

正如您所看到的,我将/ checkout / manual添加到url中,当您查看浏览器指向的url时,它会起作用,即:

<form action="example.com/checkout/cart/add/uenc/aHR0cDovL2JrZm9vdHdlYXIuaHlwZXJub2RlLmlvL21hbi9yb2NvLmh0bWw,/product/5651/form_key/Zs9uAOj8oTuQFAbj/checkout/" method="post" id="product_addtocart_form" <input="" type="hidden" name="sid" value="checkout">

但它不起作用,看起来检查功能不会“看到”它。 我认为这有一个最简单的答案,但正如我所说,它现在已经让我好几天了。 有任何想法吗?

也许将if语句更改为检查“checkout”是否在被调用url中的内容?

2016更新 :在同样的情况下,我发现自己需要根据跟踪原因更改此解决方案。 我现在所做的(与这个问题相关 )是使用默认的“添加到购物车”按钮,并添加了另一个(默认)按钮,其中包含jQuery onClick函数,该函数将url设置为正确的add-to-cart-URL选择变量产品的选择。 使用AJAX我检查URL是否被正确调用,如果是,则重定向到checkout。 一个非常简单的解决方案。

您的问题是您正在检查已解析的参数以获取密钥'checkout',但Magento实际上已将该参数存储为0 => 'checkout' 我建议使用此代码:

模板

$this->getAddToCartUrl($_product, array('checkout' => true))

观察

$observer->getRequest()->getParam('checkout')

确保在测试时清除/禁用缓存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM