【发布时间】:2012-09-21 06:24:21
【问题描述】:
我正在尝试隐藏一些基于 shipping_method.phtml 中的文本/代码,具体取决于所选或输入的送货地址所在的国家/地区是否为法国。
我找到的唯一代码是
Mage::getSingleton('checkout/type_onepage')->getQuote()->getShippingAddress()->getCountryId()
但这所做的只是返回我在通讯录中的默认地址的 countryID。 因此,当地址已经在地址簿中时,代码有效,但如果客户决定他/她要将其发送到新地址,则代码无效。
所以我需要一种方法来访问 php/javascript 中的选择/输入的 CountryID(应该存储在会话中的某处,因为它显示在进度侧边栏中)。
请注意,我在 magento CE 1.7.0.2 中使用标准单页结帐。
【问题讨论】:
-
您尝试修改的页面是什么?退房?哪一步?
-
在这种情况下 $this->getQuote()->getShippingAddress()->getCountry() 应该可以工作。
-
这给了我和以前一样的结果。您将获得默认送货地址的 countryID,而不是所选地址(如果您有多个保存的送货地址)或输入地址(如果您选择输入新地址)的 countryID。
-
奇怪。对我来说它正在工作。
-
试试
Mage::getSingleton('checkout/session')而不是$this。
标签: magento checkout shipping street-address country