Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 [FIX] Как добавить поле отчество
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


06-02-2010 14:28
Первым делом открываем classes/Customer.php

после
Код:
public         $firstname;

добавляем
Код:
public         $middlename;


меняем
Код:
protected     $fieldsRequired = array('lastname', 'passwd', 'firstname', 'email');
    protected     $fieldsSize = array('lastname' => 32, 'passwd' => 32, 'firstname' => 32, 'email' => 128);
    protected     $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isName', 'email' => 'isEmail', 'passwd' => 'isPasswd',
         'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool');

на
Код:
protected     $fieldsRequired = array('lastname', 'passwd', 'firstname', 'middlename', 'email');
    protected     $fieldsSize = array('lastname' => 32, 'passwd' => 32, 'firstname' => 32, 'middlename' => 32, 'email' => 128);
    protected     $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isName', 'middlename' => 'isName', 'email' => 'isEmail', 'passwd' => 'isPasswd',
         'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool');


после
Код:
$fields['firstname'] = pSQL($this->firstname);

добавляем
Код:
$fields['middlename'] = pSQL($this->middlename);



функцию
Код:
static public function getCustomers()
    {
        return Db::getInstance()->ExecuteS('
        SELECT `id_customer`, `email`, `firstname`, `lastname`
        FROM `'._DB_PREFIX_.'customer`
        ORDER BY `id_customer` ASC');
    }


на:
Код:
static public function getCustomers()
    {
        return Db::getInstance()->ExecuteS('
        SELECT `id_customer`, `email`, `firstname`, `lastname`, `middlename`
        FROM `'._DB_PREFIX_.'customer`
        ORDER BY `id_customer` ASC');
    }


файл закрываем.

Далее остается добавить все это дело в шаблоны
открываем themes/your_theme/identity.tpl и после
Код:
<p class="required text">
                <label for="firstname">{l s='First name'}<sup>*</sup></label>
                <input type="text" id="firstname" name="firstname" value="{$smarty.post.firstname}" />
            </p>


добавляем
Код:
<p class="required text">
                <label for="middlename">Отчество<sup>*</sup></label>
                <input type="text" name="middlename" id="middlename" value="{$smarty.post.middlename}" />
            </p>



открываем themes/your_theme/authentication.tpl и после

Код:
<p class="required text">
                <label for="customer_firstname">{l s='First name'}</label>
                <input onkeyup="$('#firstname').val(this.value);" type="text" class="text" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.customer_firstname)}{$smarty.post.customer_firstname}{/if}" />
                <sup>*</sup>
            </p>


Код:
<p class="required text">
                <label for="middlename">Отчество</label>
                <input onkeyup="$('#middlename').val(this.value);" type="text" class="text" id="middlename" name="middlename" value="{if isset($smarty.post.middlename)}{$smarty.post.middlename}{/if}" />
                <sup>*</sup>
            </p>



и через phpMyadmin, добавляем поле middlename
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
stop-radar
Новичок
Сообщений: 16
Регистрация: 03-02-2010


21-02-2010 04:50
Всё проделал Поля появились, но как увидеть Отчество в адресах и профиле пользователя в админке?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
zapalm


Профессионал
Сообщений: 350
Откуда: Владивосток
Регистрация: 01-08-2009


05-03-2010 17:54
Делаем с classes/Address.php тоже самое что и с Customer.php, кроме sql-запроса. Добавляем в таблицу БД ps_address поле middlename. Правим файл address.tpl как правили identity.tpl.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Aspiks
Новичок
Сообщений: 11
Регистрация: 09-03-2010


13-03-2010 16:41
Все сделал как писали, но возникла такая проблема. Название "Отчество" Выводит Иероглифами.


Изображения:
Безимени-2.jpg - Размер файла21.47KB, Скачиваний: 1036 (Нажмите для увеличения)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Aspiks
Новичок
Сообщений: 11
Регистрация: 09-03-2010


13-03-2010 19:31
Все. Получилось. Добавил в translations/ru/fields.php поле $_FIELDS['Address_9f2780ee8346cc83b212ff038fcdb45a'] = 'отчество'; после $_FIELDS['Address_8ad75c5a8821cc294f189181722acb56'] = 'фамилия';
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Aspiks
Новичок
Сообщений: 11
Регистрация: 09-03-2010


14-03-2010 05:41
Что надо сделать, чтобы в админке отображалось отчество?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Aspiks
Новичок
Сообщений: 11
Регистрация: 09-03-2010


14-03-2010 05:46
И еще вопрос. Хочу телефон сделать обязательным что надо написать в строке:
protected $fieldsValidate = array('id_customer' => 'isNullOrUnsignedId', 'id_manufacturer' => 'isNullOrUnsignedId',
'id_supplier' => 'isNullOrUnsignedId', 'id_country' => 'isUnsignedId', 'id_state' => 'isNullOrUnsignedId',
'alias' => 'isGenericName', 'company' => 'isGenericName', 'lastname' => 'isName',
'firstname' => 'isName','middlename' => 'isName', 'address1' => 'isAddress', 'address2' => 'isAddress',
'postcode' => 'isPostCode', 'city' => 'isCityName', 'other' => 'isMessage',
'phone' => 'isPhoneNumber', 'phone_mobile' => 'isPhoneNumber', 'deleted' => 'isBool');
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Aspiks
Новичок
Сообщений: 11
Регистрация: 09-03-2010


14-03-2010 06:18
Все, сам разобрался во всем.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Fant63
Профессионал
Сообщений: 543
Откуда: Тольятти
Регистрация: 23-02-2010


17-03-2010 03:27
Разобрались сами - помогите пожалуйста другим )))
Опишите ваши действия пожалуйста )))
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
graf
Новичок
Сообщений: 2
Регистрация: 20-03-2010


20-03-2010 15:10
все сделал по инструкции, поля в БД добавляються, в админке сделал вывод.
но не убирается в созданных полях проверка на обязательность заполнения

в protected $fieldsRequired строки удалял. никакого эффекта
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >