我在付款方式步骤中添加了与送货地址相关的功能,如果送货地址发生变化,则必须重新加载付款方式HTML内容。我尝试将JavaScript添加到Billing and Shipping步骤,但我的后端要求将送货地址保存为工作。所以如果我在onclick =“shipping.save();”之后添加我自己的JavaScript在shipping.phtml中,它永远不会被调用。
每次查看步骤时都可以刷新步骤HTML吗?
答案 0 :(得分:2)
是的,这是可能的,但不是纯JS(没有ajax回调可用于通过单击重新加载步骤)
您需要从OnepageController
重载Mage_Checkout
。在这个类中,您将看到每个步骤saveAction都包含刷新/显示下一步的逻辑。
例如,在saveShippingAction()
的{{1}}中,您可以看到:
Mage_Checkout_OnepageController
部分[...]
if (!isset($result['error'])) {
$result['goto_section'] = 'shipping_method';
$result['update_section'] = array(
'name' => 'shipping-method',
'html' => $this->_getShippingMethodsHtml()
);
}
[...]
是告诉magento强制刷新步骤的部分。
您应该能够根据自己的需要进行调整。