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