Magento -使字段“公司”必填

dpiehjr4  于 2023-04-21  发布在  其他
关注(0)|答案(5)|浏览(159)

对于一个B2B Magento网站,当注册一个新的客户端,我想使字段“公司”必需的。
我应该编辑哪个文件?
多谢了。

xwmevbvl

xwmevbvl1#

您还应该将其添加到服务器端的属性中。
如果您使用的是Magento企业版,您只需通过后台编辑公司属性,设置为必填即可。
如果您使用的是社区版,则需要使用SQL手动更改此值。在eav_attribute表中,attribute_codecompany,您只需将is_required设置为1即可。

eufgjt7s

eufgjt7s2#

除了haltabush答案(这是正确的答案),这里是懒惰开发人员的SQL:

UPDATE eav_attribute SET is_required = 1 WHERE attribute_code = 'company';
au9on6nz

au9on6nz3#

对于客户通讯录部分(注册客户):

/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"
ccgok5k5

ccgok5k54#

这是如何做到这一点使用安装程序.正确的方式来做它在magento.这适用于企业版和comunity版.但你将不得不有模块配置为了解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>

这就是我编辑.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>
pxq42qpu

pxq42qpu5#

有一个后台设置(版本号2.4.5-p1)。

您可以在Stores > Settings > Configuration中找到它,然后在Customers > Customer Configuration下,您会在“名称和地址选项”选项卡下找到“显示公司”选项。
它看起来像这样:

将该选项设置为必填将使公司成为所有地址表单中的必填字段。

相关问题