2

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

我不敢相信没有一种简单的方法可以做到这一点。

任何建议将不胜感激

4

2 回答 2

0

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

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

  • 结帐/onepage/shipping.phtml
  • 持久/客户/表单/register.phtml
  • 持久/结帐/onepage/billing.phtml

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

希望有帮助!

于 2016-11-26T17:32:14.657 回答
-1

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

第 1 步:我们必须添加 php 和 .html 表单元素,这些元素是为 register.phtml 中的每个附加字段创建新输入框所必需的。

<div class="input-box">
<label for=”company_name”&gt;<?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');

于 2017-02-08T12:53:39.223 回答