magento新增客戶自定義欄位
阿新 • • 發佈:2019-01-24
INSERT INTO `eav_attribute` ( `attribute_id` , `entity_type_id` , `attribute_code` , `attribute_model` , `backend_model` , `backend_type` , `backend_table` , `frontend_model` , `frontend_input` , `frontend_label` , `frontend_class` , `source_model` , `is_required` , `is_user_defined` , `default_value` , `is_unique` , `note` ) VALUES ( NULL , '1', 'customertype', NULL , '' , 'int', '' , '' , 'select', 'Customer Type', '' , 'eav/entity_attribute_source_table', '1', '0', '', '0', '' ); 執行上面語句後得到attribute_id再執行下面語句(例如attribute_id為121,120為sort_order) INSERT INTO `eav_entity_attribute` ( `entity_attribute_id` , `entity_type_id` , `attribute_set_id` , `attribute_group_id` , `attribute_id` , `sort_order` ) VALUES ( NULL , '1', '1', '1', '121', '120' ); INSERT INTO `customer_eav_attribute` ( `attribute_id` , `is_visible` , `input_filter` , `multiline_count` , `validate_rules` , `is_system` , `sort_order` , `data_model` ) VALUES ( '121', '1', '' , '1', '' , '0', '120', NULL ); INSERT INTO `customer_form_attribute` ( `form_code` , `attribute_id` ) VALUES ( 'adminhtml_customer', '121' ), ( 'checkout_register', '121' ), ( 'customer_account_create', '121' ), ( 'customer_account_edit', '121' ) ; 下面為新增的選項 INSERT INTO `eav_attribute_option` (`option_id`, `attribute_id`, `sort_order`) VALUES (NULL, 121, 0), (NULL, 121, 1), (NULL, 121, 2), (NULL, 121, 3); 下面5,6,7,8為 eav_attribute_option 的 option_id INSERT INTO `eav_attribute_option_value` (`value_id`, `option_id`, `store_id`, `value`) VALUES (NULL, 5, 0, 'Wholesaler'), (NULL, 6, 0, 'Retailers'), (NULL, 7, 0, 'Agents'), (NULL, 8, 0, 'Individual customers');
在註冊頁面(/customer/form/register.phtml)新增:
在編輯頁面(/customer/form/edit.phtml)新增:<li> <?php $attribute = Mage::getModel('eav/config')->getAttribute('customer','customertype'); ?> <div class="input-box" style="float:left; clear:none; width:275px;"> <label for="customertype"><?php echo $this->__('Customer Type') ?><?php if($attribute->getIsRequired() == true){?> <span class="<?php if($attribute->getIsRequired() == true){?>required<?php } ?>">*</span><?php } ?></label><br /> <select name="customertype" id="customertype" class="<?php if($attribute->getIsRequired() == true){?>required-entry<?php } ?>"> <?php $options = $attribute->getSource()->getAllOptions(); foreach($options as $option){ ?> <option value='<?php echo $option['value']?>' <?php if($this->getFormData()->getCustomertype() == $option['value']){ echo 'selected="selected"';}?>><?php echo $this->__($option['label'])?></option> <?php } ?> </select> </div> </li>
<li> <?php $attribute = Mage::getModel('eav/config')->getAttribute('customer','customertype'); ?> <div class="input-box" style="float:left; clear:none; width:275px;"> <label for="customertype"><?php echo $this->__('Customer Type') ?><?php if($attribute->getIsRequired() == true){?> <span class="<?php if($attribute->getIsRequired() == true){?>required<?php } ?>">*</span><?php } ?></label><br /> <select name="customertype" id="customertype" class="<?php if($attribute->getIsRequired() == true){?>required-entry<?php } ?>"> <?php $options = $attribute->getSource()->getAllOptions(); foreach($options as $option){ ?> <option value='<?php echo $option['value']?>' <?php if($this->getCustomer()->getCustomertype() == $option['value']){ echo 'selected="selected"';}?>><?php echo $this->__($option['label'])?></option> <?php } ?> </select> </div> </li>