Magento - сделать поле "компания" обязательным - PullRequest
9 голосов
/ 28 марта 2011

для сайта B2B Magento, при регистрации нового клиента я хочу сделать обязательным поле "компания".

Какой файл мне отредактировать?

Большое спасибо.

Ответы [ 4 ]

21 голосов
/ 28 марта 2011

Вы также должны добавить его в свой атрибут на стороне сервера.

Если вы используете Magento Entreprise Edition , вы можете просто отредактировать атрибут компании через серверную часть и установить для него значение «required» .

Если вы работаете с Community Edition , вам придется вручную изменить это значение с помощью SQL .Он находится в таблице eav_attribute, attribute_code равен company, и вам просто нужно установить is_required в 1.

11 голосов
/ 30 августа 2013

В дополнение к ответу haltabush (который является правильным) вот SQL для ленивых разработчиков:

UPDATE eav_attribute SET is_required = 1 WHERE attribute_code = 'company';
5 голосов
/ 28 марта 2011

Для раздела адресной книги клиента (для зарегистрированных клиентов):

/ приложение / дизайн / интерфейс / базы / по умолчанию / шаблон / клиент / адрес / edit.phtml

Для расчетного раздела:

/ приложение / дизайн / интерфейс / базы / по умолчанию / шаблон / выписка / OnePage / billing.phtml

Для оформления заказа на доставку:

/ приложение / дизайн / интерфейс / базы / по умолчанию / шаблон / выписка / OnePage / shipping.phtml

Для раздела регистрации:

/ приложение / дизайн / интерфейс / базы / по умолчанию / шаблон / клиент / форма / register.phtml

/ приложение / дизайн / интерфейс / базы / по умолчанию / шаблон / клиент / форма / address.phtml

Поиск выглядит как следующая строка для обязательных полей:

class="input-text validate-email required-entry"
2 голосов
/ 13 марта 2015

Вот как это сделать с помощью установщика. Правильный способ сделать это в 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...