对于B2B Magento网站,在注册新客户时,我想要使该字段为“公司”。
我应该编辑哪个文件?
非常感谢。
答案 0 :(得分:21)
您还应该在服务器端的属性中添加它。
如果您使用的是Magento 企业版,则只需通过后端编辑公司属性,然后将其设置为“必需”。
如果您使用的是社区版,则必须使用SQL 手动更改此值。它位于eav_attribute
表中,attribute_code
为company
,您只需将is_required
设置为1
。
答案 1 :(得分:11)
除了haltabush答案(这是正确的答案),这里是懒惰开发人员的SQL:
UPDATE eav_attribute SET is_required = 1 WHERE attribute_code = 'company';
答案 2 :(得分:5)
对于客户通讯簿部分(注册客户):
/app/design/frontend/base/default/template/customer/address/edit.phtml
结帐结算部分:
/app/design/frontend/base/default/template/checkout/onepage/billing.phtml
结帐发货部分:
/app/design/frontend/base/default/template/checkout/onepage/shipping.phtml
注册部分:
/app/design/frontend/base/default/template/customer/form/register.phtml
/app/design/frontend/base/default/template/customer/form/address.phtml
查找所需字段的以下行:
class="input-text validate-email required-entry"
答案 3 :(得分:2)
这是使用安装程序的方法。在magento中这样做的正确方法。这适用于企业版和社区版。但是您必须将模块配置为理解sql文件夹下的文件
<?php
$installer = new Mage_Customer_Model_Entity_Setup('core_setup');;
$installer->startSetup();
$installer->run("UPDATE eav_attribute SET is_required = 1 WHERE attribute_code = 'company';");
$installer->endSetup();
这是我的模块xml文件的样子。
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Package_Customer>
<version>1.1.0.4</version>
</Package_Customer>
</modules>
<global>
....
<resources>
<package_customer_setup>
<setup>
<module>Package_Customer</module>
</setup>
</package_customer_setup>
</resources>
....
</global>
这就是我对edit.phtml所做的动作
<li class="wide">
<?php
$validation_class = $this->helper('customer/address')->getAttributeValidationClass('company') ;
$required = strstr($validation_class, 'required-entry');
?>
<label for="company" class=<?php echo $required?"required":""?>><?php echo $this->__('Company') ?> <?php echo $required?"<em>*</em>":""?> </label>
<div class="input-box">
<input type="text" name="company" id="company" title="<?php echo $this->__('Company') ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" class="input-text <?php echo $validation_class ?>" />
</div>
</li>