我正在 checkout_controller_onepage_save_shipping_method 活动期间验证运输报价,如果验证失败,我想将用户发送回运输方式选择,但我还想显示一条消息,说明失败的原因。 Magento 有内置的方法吗?
我已经在验证数据,只是缺少重定向到运输方式和显示消息的方式。
艾伦·斯托姆的回答一如既往地内容丰富且富有启发性。但在这种情况下,单页结帐主要是 AJAX,它会忽略会话错误消息,直到离开结帐页面时您才会看到它。
In saveShippingMethodAction
有以下行:
$result = $this->getOnepage()->saveShippingMethod($data);
...然后 $result 是 JSON 编码的。如果你覆盖Mage_Checkout_Model_Type_Onepage::saveShippingMethod
要执行检查然后控制返回的内容,您可以插入一条错误消息,该消息将返回到浏览器并在弹出窗口中显示给用户。
您的覆盖可能看起来像这样:
public function saveShippingMethod($shippingMethod)
{
if ($this->doesntApplyHere()) {
return array('error' => -1, 'message' => $this->_helper->__('Explain the problem here.'));
}
return parent::saveShippingMethod($shippingMethod);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)