繁体   English   中英

Magento:无法检索保存的帐单地址

[英]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 看一下这个。 该字段包含01 如果Magento包含1则将显示相同的送货地址和帐单地址,否则它将显示两个不同的地址(实际上,结帐时也有与送货地址相同的选项)。 我想我已经解决了你的问题。

更新:

客户不必具有默认地址。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM