Как сделать фамилию необязательной в Magento 1.8


Я обновил базу данных напрямую, чтобы сделать is_required по фамилии = 0.

Удалил средство проверки js для фамилии в ядре.

Удалено обязательное поле в интерфейсе виджета/name.phtml.

Однако сообщение "Поле "Фамилия обязательна" по-прежнему появляется в 3 местах:

During onepage checkout
When creating an order in admin for billing/shipping address
When inputing billing/shipping address for a customer in admin

Не мог бы кто-нибудь помочь мне, пожалуйста? Мы занимаемся оптовой продажей и используем только заказы на покупку и треску. Таким образом, клиент обычно вводит только название своей торговой точки в поле "Имя". Фамилия для них просто необязательна.

Author: Teja Bhagavan Kollepara, 2014-01-26

4 answers

Чтобы сделать поле Фамилия не обязательным для редактирования клиентом в администраторе, создайте сценарий обновления sql

/* @var $this Mage_Customer_Model_Resource_Setup */
$this->updateAttribute('customer_address','lastname','is_required','false');
 2
Author: oleksii.svarychevskyi, 2014-01-26 14:57:38

Я сам искал ответ на эту проблему, и я объединил оба ваших ответа, так как вам нужно выполнить все эти шаги, поэтому я открываю мертвую тему для будущих пользователей.

1. Сначала неплохо запустить SQL-запрос (т.Е. в phpMyAdmin):

UPDATE eav_attribute SET is_required = 0 WHERE attribute_code = 'lastname'

2. Избавьтесь от классов для проверки JS

Класс="требуется" и класс="обязательная запись" в любом месте, связанном с полем "фамилия", где есть формы для сохранения (т.Е. клиент/адрес/редактировать.phtml, постоянный/проверка/выставление счетов.phtml)

3. Скопируйте ваши основные файлы из:

/app/code/core/Mage/customer/Model/Address/Abstract.php
/app/code/core/Mage/customer/Model/Customer.php
/app/code/core/Mage/customer/etc/config.xml

В:

/app/code/local/Mage/customer/Model/Address/Abstract.php
/app/code/local/Mage/customer/Model/Customer.php
/app/code/local/Mage/customer/etc/config.xml

И прокомментируйте все, что связано с проверкой Zend фамилии.

/app/code/local/Mage/customer/Model/Address/Abstract.php :

   /* if (!Zend_Validate::is($this->getLastname(), 'NotEmpty')) {
         $this->addError(Mage::helper('customer')->__('Please enter the last name.'));
     }
*/

/app/code/local/Mage/customer/Model/Customer.php

/*        if (!Zend_Validate::is( trim($this->getLastname()) , 'NotEmpty')) {
        $errors[] = Mage::helper('customer')->__('The last name cannot be empty.');
    }
*/

/app/code/local/Mage/customer/etc/config.xml

Вам необходимо выполнить поиск:

 <lastname>
                <billing>1</billing>
                <shipping>1</shipping>
                **<required>0</required>** // change from 1 to 0
                <mapped>1</mapped>
 </lastname>
 8
Author: versedi, 2014-12-04 09:13:36

1. Удалите классы для проверки JS из ваших шаблонов.

customer/widget/name.phtml

Удалить class="required" из метки, относящейся к полю lastname в строке 80

Удалить <?php echo $this->helper('customer/address') ->getAttributeValidationClass('lastname') ?> из ввода, относящегося к lastname в строке 82

2. Скопируйте ваши основные файлы с:

/app/code/core/Mage/customer/Model/Address/Abstract.php /app/code/core/Mage/customer/Model/Customer.php

В:

/app/code/local/Mage/customer/Model/Address/Abstract.php /app/code/local/Mage/customer/Model/Customer.php

И прокомментируйте все, что связано с проверкой Zend фамилии.

/app/code/local/Mage/customer/Model/Address/Abstract.php :

    /*
    if (!Zend_Validate::is($this->getLastname(), 'NotEmpty')) {
        $this->addError(Mage::helper('customer')->__('Please enter the last name.'));
    }
*/

/app/code/local/Mage/customer/Model/Customer.php

Php-код

   /*
    if (!Zend_Validate::is( trim($this->getLastname()) , 'NotEmpty')) {
        $errors[] = Mage::helper('customer')->__('The last name cannot be empty.');
    }
*/

3. Обновите config.xml файл для клиента

/app/code/core/Mage/customer/etc/config.xml

Скопировать в файл

/app/code/local/Mage/customer/etc/config.xml

Для поля last_name установите требуемое значение "1" на "0"

4. При последнем обновлении с помощью запроса строки в базе данных

UPDATE eav_attribute SET is_required = 0 WHERE attribute_code = 'lastname'
 0
Author: Shruti Gupta, 2017-06-09 09:42:59

Для меня все, что я сделал, чтобы решить эту проблему, заключалось в следующем:

update eav_attribute set is_required=0 where attribute_code like 'firstname'; update eav_attribute set is_required=0 where attribute_code like 'lastname';

 0
Author: Vladimir Despotovic, 2017-11-23 10:49:12