1

我在付款方式步骤中添加了与送货地址相关的功能,如果送货地址发生变化,则必须重新加载付款方式 HTML 内容。我尝试将 JavaScript 添加到计费和发货步骤,但我的后端要求保存发货地址才能正常工作。所以如果我在 onclick="shipping.save();" 之后添加自己的 JavaScript 在 shipping.phtml 中,它永远不会被调用。

有没有办法在每次查看步骤时刷新步骤 HTML?

4

1 回答 1

2

是的,这是可能的,但不是纯 JS(没有 ajax 回调可用于通过单击重新加载步骤)

您需要重载OnepageControllerfrom 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强制刷新步骤的部分。

您应该能够根据自己的需要进行调整。

于 2012-10-29T09:44:15.900 回答