如何添加公司名称'在客户注册和结算信息中

时间:2016-11-22 09:13:25

标签: magento magento-1.9 customer

我一直试图添加公司名称'在客户注册和一页结账但到目前为止没有成功。我试过https://magento.stackexchange.com/questions/15847/add-company-name-to-billing-shipping-dropdown-in-magento,但它根本没有帮助。

我无法相信这并不是一种简单的方法。

任何建议都将不胜感激

2 个答案:

答案 0 :(得分:0)

公司字段已经是Magento中地址实体的一部分,如果它没有显示在注册表和结帐表单上,则需要更新模板以包含它。

我建议您查看base / default或rwd / default主题并查看:

  • 结帐/ onepage / shipping.phtml
  • 持久/客户/形式/ register.phtml
  • 持久/结帐/ onepage / billing.phtml

您应该在那里看到公司并将其复制到您的活动主题中。

希望有所帮助!

答案 1 :(得分:-1)

向Magento新客户注册添加新字段可以通过4个简单步骤完成。按照下面给出的步骤完成它。

第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(路径:/ app / code / core / Mage / Customer / Model / Entity /)中的“getDefaultEntities()”下添加元素,上面创建的每个附加字段:

company_name' => array(
'label' => 'Company Name',
'required' => false,
'sort_order' => 64,
),

第3步:通过抓取发布信息中的新字段,在AccountController.php(路径:/ app / code / core / Mage / Customer / controllers /)中添加$ customer的内容,在createPostAction()函数中:

$customer = Mage::getModel('customer/customer')->
setCompany($this->getRequest()->getPost('company_name'));

第4步:最后,我们需要将数据库记录添加到表eav_attribute,对应于新创建的字段。我们的想法是添加到关联的数据模型中,其中新定义的模型数据作为“attribute_code”输入,具有相应的entity_type_id(对于此数据恰好是'1')。

使用您最喜欢的SQL编辑器(即phpMySQL或sqlYog - 强烈推荐),对上面创建的每个字段执行以下SQL语句(根据需要将'company'和'Company Name'替换为相应的字段名称信息):

INSERT INTO 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');