2011-08-09 80 views
1

我想在onepage結帳過程中爲發貨地址添加一個新字段「custom_house_no」。Magento - 在onepage結帳過程中爲發貨地址添加新字段

我已經添加了下面的代碼在我的自定義擴展的MySQL文件 「mysql4安裝-0.1.0.php」


    // Customer Address 
    $entityTypeId  = $installer->getEntityTypeId('customer_address'); 
    $attributeSetId = $installer->getDefaultAttributeSetId($entityTypeId); 
    $attributeGroupId = $installer->getDefaultAttributeGroupId($entityTypeId, $attributeSetId);

$installer->addAttribute('customer_address', 'custom_house_no', array(
    'label'    => 'Custom House No', 
    'input'    => 'text', // Input field type textbox 
    'type'    => 'varchar', // Store varchar data type 
    'frontend'   => '', //frontend model 
    'backend'   => '', //backend model 
    'visible'   => 1, //true 
    'required'   => 0, //false 
    'user_defined'  => 1, 
    'default'   => '', //default value 
    'searchable'  => 0, 
    'filterable'  => 0, 
    'comparable'  => 0, 
    'visible_on_front' => 0, 
    'unique'   => 0, 
    'global'  => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL 
    // 'class'    => '', 
    // 'source'   => 'catalog/category_attribute_source_page', 
)); 

$installer->addAttributeToGroup(
    $entityTypeId, 
    $attributeSetId, 
    $attributeGroupId, 
    'custom_house_no', 
    '150'  //last Magento's attribute position in General tab is 140 
); 

$attribute = Mage::getSingleton('eav/config')->getAttribute('customer_address', 'custom_house_no'); 
$attribute->setData('used_in_forms', array('customer_register_address', 'customer_address_edit', 'adminhtml_customer_address')); // Setting the relation between the attribute and forms in which this attribute will be used 
$attribute->save();` 

我也曾在文件夾做了一個類MY/CustomExtension/Model/Entity/Setup.php


    class MY_CustomExtension_Model_Entity_Setup extends Mage_Eav_Model_Entity_Setup { 
    } 

我還在擴展配置文件中添加了類名。


    Link to config code : Config File Content 

而在發貨模板文件中,我添加了名稱爲「custom_house_no」的文本框。

該屬性已成功添加,並與表單關聯,但所有數據都保存在除「custom_house_no」字段之外的數據庫中。

我不知道我的代碼有什麼問題。

回答

0

您很可能需要使用字段集。看一下在覈心Mage/Checkout模塊的config.xml中定義的模塊,並將它們擴展到您的模塊配置中

相關問題