1

我试图让礼品选项消息仅在客户运送到与 Onepage 结帐流程中的帐单地址不同的地址时显示。我可以从账单部分获取“运送到相同/不同地址”

$this->getQuote()->getShippingAddress()->getData('same_as_billing')

而且效果很好。但是,如果客户将其设为送货方式,并回击更改送货地址,则该字段似乎不会更新。我试着检查

$this->getQuote()->getShippingAddress()->getData('use_billing_address')

但该数据不存在。事实上,当我在additional.phtml中有这两行时:

Mage::log("Same as billing: ".$this->getQuote()->getShippingAddress()->getData('same_as_billing'));
Mage::log("Use billing: ".$this->getQuote()->getShippingAddress()->getData('use_billing_address'));

当我从送货地址转到送货方式时,它不会触发。任何人都可以在这里给我一些指导吗?

4

1 回答 1

0

我最终使用了 javascript 函数而不是 PHP,因为它不会重新加载页面以访问每个部分。

在 template/giftmessage/inline.phtml 中,我添加了以下内容:

    function _showHideGift() {
        var flag=document.getElementById('shipping:same_as_billing').checked;
        if(!flag){
            document.getElementById('gift-messages').style.display="block";
        }else{
            document.getElementById('gift-messages').style.display="none";
    }}

然后使用togleVisilibityOnObjects 调用CDATA 内部块下面的函数。

于 2013-03-13T16:25:42.010 回答