我在 Magento 中创建了一个名为“addresstype”的客户地址属性,它是一个 varchar,在前端具有“住宅”和“商业”单选选项。
该属性在结帐期间保存并显示在数据库中。客户可以编辑他们的个人资料,我可以使用 $address->getAddresstype();
主动提取变量检查适当的单选按钮。
我唯一的问题是,在各个销售订单页面的后端,变量没有通过。我已编辑/app/code/core/Mage/Customer/Block/Address/Renderer/Default.php (使用 $address->getAddresstype()
),并且可以使用 print_r($attributes = Mage::helper('customer/address')->getAttributes());
查看数组中的属性
它在数据库中也被标记为“is_visible”。
最佳答案
这是因为销售订单/发票页面从不同的表 (sales_flat_order_address) 中提取信息。假设您第一次将其放在正确的位置(看起来您确实如此),那么您只需让 Magento 复制正确的信息即可。
<fieldsets>
<sales_convert_quote_address>
<your_attribute>
<to_order>*</to_order>
</your_attribute>
</fieldsets>
您可能还需要添加另一个字段设置值,以将值从地址复制到报价地址,我一时记不清了。如果您在 Magento 的代码中搜索 *.xml 中的字段集,您应该会找到示例。
关于php - Magento 后端自定义地址属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8983263/