后端的Magento自定义地址属性

时间:2012-01-24 07:18:55

标签: php mysql magento custom-attributes

我在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'。

1 个答案:

答案 0 :(得分:4)

这是因为销售订单/发票页面从不同的表(sales_flat_order_address)中提取信息。假设你第一次把它放在正确的位置(你似乎也是这样),那么你只需要让Magento复制正确的信息。

<fieldsets>
    <sales_convert_quote_address>
        <your_attribute>
            <to_order>*</to_order>
        </your_attribute>
</fieldsets>

你可能还需要添加另一个字段集值来将地址中的值复制到引用地址,我不记得了。如果您在* .xml中搜索Magento的字段集代码,您应该找到示例。