Magento - 使该领域成为“公司”所必需的

时间:2011-03-28 09:08:34

标签: magento

对于B2B Magento网站,在注册新客户时,我想要使该字段为“公司”。

我应该编辑哪个文件?

非常感谢。

4 个答案:

答案 0 :(得分:21)

您还应该在服务器端的属性中添加它。

如果您使用的是Magento 企业版,则只需通过后端编辑公司属性,然后将其设置为“必需”

如果您使用的是社区版,则必须使用SQL 手动更改此值。它位于eav_attribute表中,attribute_codecompany,您只需将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>