[英]Magento: can't retrieve saved billing address
我在尝试在结帐过程中尝试显示已经保存的帐单地址时遇到问题。 基本上,现有代码(OnePageCheckout)使用以下代码显示具有现有地址的下拉列表:
<?php echo $this->getAddressesHtmlSelect('billing') ?> // For billing
<?php echo $this->getAddressesHtmlSelect('shipping') ?> // For shipping
问题在于,帐单下拉列表的值与发货单的值相同。
显示下拉菜单的代码如下:
<?php echo $this->getAddressesHtmlSelect('billing') ?> // for billing
<?php echo $this->getAddressesHtmlSelect('shipping') ?> // for shipping
运输是正确的,开票显示运输价值。
但是,如果我在数据库上执行以下查询:
select * from sales_flat_quote_address where customer_id = <my_customer_id>;
我可以清楚地看到2个地址,一个与address_type
航运,一个与address_type
计费。
此处报告的方法存在相同的问题。
我被困住了...任何提示都值得赞赏。 谢谢。
编辑:
MySQL选择:
SELECT address_id, same_as_billing, address_type FROM sales_flat_quote_address WHERE customer_id = 9419;
+------------+-----------------+--------------+
| address_id | same_as_billing | address_type |
+------------+-----------------+--------------+
| 28338 | 0 | shipping |
| 28353 | 0 | billing |
| 28354 | 0 | shipping |
+------------+-----------------+--------------+
Magento像在sales_flat_quote_address
一样,将客户的地址(仅用于送货和开票) sales_flat_quote_address
为sales-quote属性,这与客户属性不同。 这样我们就可以保留两个不同的地址。 当然,您可以看到两种不同的地址计费和送货方式。 但是该表中有一个名为same_as_billing
。 看一下这个。 该字段包含0
或1
。 如果Magento包含1
则将显示相同的送货地址和帐单地址,否则它将显示两个不同的地址(实际上,结帐时也有与送货地址相同的选项)。 我想我已经解决了你的问题。
更新:
客户不必具有默认地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.