我一直在尝试在客户注册和单页结帐上添加“公司名称”,但到目前为止没有成功。我尝试了https://magento.stackexchange.com/questions/15847/add-company-name-to-billing-shipping-dropdown-in-magento 但它根本没有帮助。
我不敢相信没有一种简单的方法可以做到这一点。
任何建议将不胜感激
我一直在尝试在客户注册和单页结帐上添加“公司名称”,但到目前为止没有成功。我尝试了https://magento.stackexchange.com/questions/15847/add-company-name-to-billing-shipping-dropdown-in-magento 但它根本没有帮助。
我不敢相信没有一种简单的方法可以做到这一点。
任何建议将不胜感激
公司字段已经是 Magento 中地址实体的一部分,如果它没有显示在注册和结帐表单上,您需要更新模板以包含它。
我建议您查看 base/default 或 rwd/default 主题并查看:
您应该在那里看到公司,并且可以将其复制到您的活动主题中。
希望有帮助!
只需 4 个简单步骤即可向 Magento 新客户注册添加新字段。按照下面给出的步骤完成它。
第 1 步:我们必须添加 php 和 .html 表单元素,这些元素是为 register.phtml 中的每个附加字段创建新输入框所必需的。
<div class="input-box">
<label for=”company_name”><?php echo $this->__('Company Name') ?></label><br/>
<input type="text" name="company_name" id="company_name" value="<?php echo $this->htmlEscape($this->getFormData()->getCompany()) ?>" title="<?php echo $this->__('Company Name') ?>" class="input-text" />
</div>
第 2 步:我们需要在 Setup.php 中的“getDefaultEntities()”下添加元素(路径:/app/code/core/Mage/Customer/Model/Entity/),为上面创建的每个附加字段添加一个元素:
company_name' => array(
'label' => 'Company Name',
'required' => false,
'sort_order' => 64,
),
第 3 步:通过在 createPostAction() 函数中从发布的信息中抓取新字段,将 $customer 的内容添加到 AccountController.php(路径:/app/code/core/Mage/Customer/controllers/)中:
$customer = Mage::getModel('customer/customer')->
setCompany($this->getRequest()->getPost('company_name'));
第 4 步:最后,我们需要将数据库记录添加到表 eav_attribute,对应于新创建的字段。这个想法是添加到关联的数据模型中,其中新定义的模型数据作为“attribute_code”输入,并带有相应的entity_type_id(对于该数据恰好是'1')。
使用您最喜欢的 SQL 编辑器(即 phpMySQL 或 sqlYog — 强烈推荐),为上面创建的每个字段执行以下 SQL 语句(根据需要将“公司”和“公司名称”替换为相应的字段名称信息):
插入到 eav_attribute (entity_type_id, attribute_code, backend_type, frontend_input, frontend_label, is_global,is_visible, is_required, is_configurable, is_filterable_in_search) VALUES('1', 'company', 'varchar', 'text', 'Company Name', '1' , '1', '0', '1', '1');