1

顧客がOnepageチェックアウトフローの請求先住所とは異なる住所に配送している場合にのみ、ギフトオプションメッセージが表示されるようにしようとしています。請求セクションから「同じ/別の住所に発送」を取得できます。

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

そしてそれは素晴らしい働きをします。ただし、顧客が配送方法を作成し、配送先住所を変更するためにヒットした場合、そのフィールドは更新されていないようです。チェックしてみました

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

しかし、そのデータは存在しません。実際、additional.phtmlに次の2行がある場合:

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

各セクションに移動するためにページをリロードしないため、PHPの代わりにjavascript関数を使用することになりました。

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";
    }}

次に、toogleVisilibityOnObjects呼び出しを使用して、CDATA内のブロックの下にある関数を呼び出しました。

于 2013-03-13T16:25:42.010 に答える