我正在安装Magento 1.9,该安装必须具有直接检出以及“添加到购物车”按钮.两者之间的主要区别(也是唯一区别)是“直接结帐”链接应跳过购物车,并在单击时重定向到结帐.
我为功能使用了this code,如您所见,这里有a comment适用.
“我需要做的就是将参数/ checkout /放置到URL中”.
这让我疯狂.
这就是Observer文件中的检查
if (Mage::app()->getRequest()->getParam('checkout')) {
似乎很容易,但是我一直不知所措,在网上搜寻如何以这种检查返回true的方式“ addParam”的答案.
这是我想要此功能的表单(动作):
getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>如您所见,我将/ checkout /手动添加到了url,当您查看浏览器指向的url时,该方法就起作用了,即:
但是它不起作用,好像检查功能没有“看到”它.
我认为这是一个最简单的答案,但是正如我所说,这已经让我丧命了好几天.有任何想法吗?
也许将if语句更改为检查“ checkout”是否在所调用的url中的内容?
2016年更新:在这种情况下,我发现自己需要针对跟踪原因更改此解决方案.我现在所做的(与this question相关)是使用默认的“添加到购物车”按钮,并使用jQuery onClick函数添加了另一个(默认)按钮,该按钮将url设置为所选的正确购物车URL可变产品的选择.
使用AJAX,我检查URL是否正确调用,如果正确,则重定向到checkout.一个非常简单的解决方案.
解决方法:
您的问题是您正在检查解析的参数中是否存在键“ checkout”,但是Magento实际上已将参数存储为0 =>. ‘查看’.我建议改用以下代码:
模板
$this->getAddToCartUrl($_product, array('checkout' => true))
观察者
$observer->getRequest()->getParam('checkout')
确保在测试期间清除/禁用了缓存.
标签:magento,php
来源: https://codeday.me/bug/20191120/2045592.html