我在Magento中创建了一个名为“addresstype”的客户地址属性,该属性是一个varchar,前端有'Residential'和'Business'的无线电选项。
该属性在结帐时保存并显示在数据库中。客户可以编辑他们的个人资料,我可以使用$address->getAddresstype();
主动提取变量来检查相应的单选按钮。
我唯一的问题是,在各个销售订单页面的后端,变量未通过。我编辑了/app/code/core/Mage/Customer/Block/Address/Renderer/Default.php(使用$address->getAddresstype()
),可以使用print_r($attributes = Mage::helper('customer/address')->getAttributes());
它也在数据库中标记为'is_visible'。
答案 0 :(得分:4)
这是因为销售订单/发票页面从不同的表(sales_flat_order_address)中提取信息。假设你第一次把它放在正确的位置(你似乎也是这样),那么你只需要让Magento复制正确的信息。
<fieldsets>
<sales_convert_quote_address>
<your_attribute>
<to_order>*</to_order>
</your_attribute>
</fieldsets>
你可能还需要添加另一个字段集值来将地址中的值复制到引用地址,我不记得了。如果您在* .xml中搜索Magento的字段集代码,您应该找到示例。