Php 链接到onepage签出中的特定步骤
是否可以将浏览器重定向到onepage签出中的第n步?如果是这样,人们将如何着手去做呢 我正在处理一个付款模块,有一种“取消”操作,我想让用户返回到您选择付款方式的结账步骤 我当前将用户返回到签出的第一步,如下所示:Php 链接到onepage签出中的特定步骤,php,zend-framework,magento,Php,Zend Framework,Magento,是否可以将浏览器重定向到onepage签出中的第n步?如果是这样,人们将如何着手去做呢 我正在处理一个付款模块,有一种“取消”操作,我想让用户返回到您选择付款方式的结账步骤 我当前将用户返回到签出的第一步,如下所示: $this->_redirect('checkout/onepage', array('_secure'=>true)); 另一个问题是,我不是一直在工作,在某些浏览器中,我真的不想称这种工作为“有时”。这是已知的和/或普遍接受的吗?我几乎没有关于这方面的实际信息,但
$this->_redirect('checkout/onepage', array('_secure'=>true));
另一个问题是,我不是一直在工作,在某些浏览器中,我真的不想称这种工作为“有时”。这是已知的和/或普遍接受的吗?我几乎没有关于这方面的实际信息,但我收到了客户对这种行为的投诉。他们通常不会给我任何细节,所以这是一条死胡同。很抱歉没有说清楚。打开onepage签出页面的模板。 它是app/design/frontend/default/default/template/checkout/onepage.phtml 在文件中添加
<?php
//if (your cancel condition)
{
echo
'<script type="text/javascript">
checkout.gotoSection(\'checkout-step-review\');
</script>';
}
?>
这将使用户转到您需要的步骤。您必须决定将用户带到步骤的条件 Rick指的是结帐中的“步骤”不是RESTful的,而是一个轴化的步骤,它们都在同一个页面上,垂直手风琴实际上只是由javascript函数操纵的一组分割。您需要将javascript设置为他所说的正确步骤 签出/onepage.phtml: PHP中的
$step = Mage::app()->getRequest()->getParam('step');
$stepCodes = array('billing', 'shipping', 'shipping_method', 'payment', 'review');
if (($step) && (in_array($step,$stepCodes)) && ($this->getActiveStep() == 'billing')) {
$checkout = Mage::getSingleton('checkout/type_onepage');
$checkout->saveBilling(Mage::getSingleton('checkout/session')->getQuote()->getBillingAddress()->toArray(),false);
$checkout->saveShipping(Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->toArray(),false);
$checkout->saveShippingMethod(Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->getShippingMethod());
$activestep = Mage::app()->getRequest()->getParam('step');
}
else
if($this->getActiveStep()) {
$activestep = $this->getActiveStep();
}
javascript中的
accordion.openSection('opc-<?php /* edit */ echo $activestep; ?>');
accordion.openSection('opc-');
我也想做同样的事情,但不知道如何在付款步骤打开一页结账
最后,我使用jQuery和ajax调用,以便在更改页面后调用javascript代码:
jQuery('body').load(failure, {}, function () {
// set the magento onepage checkout accordion to the payment section
checkout.gotoSection('payment');
});
我不知道我会不会跟着你去那里。。你能解释一下吗?你指的是哪一页,我如何在控制器中重定向到结帐页?谢谢,现在我完全明白了!单凭这一点是行不通的。我还必须加载不同的步骤并保存数据。听起来好像没有“标准化”的方法让用户进入某个步骤。这是一个正确的假设吗?考虑到客户已经准备好了报价,我怀疑加载结账可以简化。但这就是我工作的方式。如果有人能从中提高,请!嗨@Peter Lindqvist,你找到另一个解决方案了吗?如果没有,你能再解释一下这个解决方案吗?谢谢