Всім хороший движок Prestashop. Але, реєстрація нового користувача відлякає всіх покупців. Спростити оформлення замовлення можна за допомогою модулів, але вони платні і недешеві. Залишається один вихід - зробити це самому.
Що ми будемо робити? Ми видалимо непотрібні нам поля при реєстрації, залишивши тільки найнеобхідніші. Для себе я вирішив, що залишу такі поля:
Залишилася справа за малим. Все непотрібне видалити. Отже, приступимо.
1. В адмінці заходимо Локалізація-> Країни-> вибираємо вашу країну-> натискаємо редагувати і відключаємо використання поштового індексу.
2.Настройкі-> Закази-> вибираємо реєстрація в один крок, і відключаємо гостьову покупку. Чому ми це робимо? Справа в тому, що для користувача немає жодної різниці між реєстрацією і гостьовий покупкою. Різниця лише введенні пароля для реєстрації. Але кому це дуже критично. гостьову покупку можете залишити. Все що ми приберемо зайве, забереться і в гостьовій покупці автоматично.
Перед усіма діями зробіть оригінальні копії редагованих файлів.
Дивимося який клас відповідає за виведення цього елементу і копіюємо його назву. Див. Рис.1
Рис.1. Виділення непотрібного елементу форми реєстрації в Prestashop
Відкриваємо файл order-opc-new-account.tpl (він знаходиться в корені вашого шаблону) і шукаємо це клас:
'Fields' => array (
'Id_country' => array ( 'type' => self. TYPE_INT. 'Validate' => 'isUnsignedId'. 'Required' => true).
'Id_state' => array ( 'type' => self. TYPE_INT. 'Validate' => 'isNullOrUnsignedId').
'Alias' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isGenericName'. 'Required' => true. 'Size' => 32).
'Company' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isGenericName'. 'Size' => 64).
'Lastname' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isName'. 'Required' => true. 'Size' => 32).
'Firstname' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isName'. 'Required' => true. 'Size' => 32).
'Vat_number' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isGenericName').
'Address1' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isAddress'. 'Required' => true. 'Size' => 128).
'Address2' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isAddress'. 'Size' => 128).
'Postcode' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isPostCode'. 'Size' => 12).
'City' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isCityName'. 'Required' => true. 'Size' => 64).
'Other' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isMessage'. 'Size' => 300).
'Phone' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isPhoneNumber'. 'Size' => 32).
'Phone_mobile' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isPhoneNumber'. 'Size' => 32).
'Dni' => array ( 'type' => self. TYPE_STRING. 'Validate' => 'isDniLite'. 'Size' => 16).
В кінці кожного запису є два слова false або true. True означає що поле обов'язкове а false. відповідно - немає. Міняєте на потрібні вам значення і зберігаєте файл. Всі починаємо тестувати. Вводите тестові дані і дивіться щоб не було помилок. Якщо у вас все вийшло, то у вас форма після збереження даних повинна випрасувати приблизно так:
Рис.2 Зміна форми регістаціі
Як ви здогадалися, вам треба шукати це рядок без слова hidden
На цьому ваша робота буде закінчена.
Після довгих пошуків, я знайшов для себе відмінний модуль. Якщо ви пройдете по посиланню, але можете його протестувати на демо. Особисто мені він підійшов повністю. У нього дуже гнучкі настройки. Одним словом клас. І найголовніше, він вдало пройшов тест у моєї дружини :).
P.S. Перед тим як ставити модуль, необхідно c директорії override прибрати все зміниться файли. І не забувайте про безпеку. Зробіть бекап, так на всякий випадок.
C order-opc-new-account.tpl розібрався спасибі. А ось з Address.php не можу,
Там в рядку де Компанія наприклад нету значень false і true Пробував в кінець вставляти, файл краш.
Ось приклад куди сюди треба вставити (false) щоб прибрати форму.
'Company' => array ( 'type' => self :: TYPE_STRING, 'validate' => 'isGenericName', 'size' => 64),
Вітаю! Підкажіть як це зробити в (Престо 1.6.1.1)?
Там по іншому в файлах написано, ставлю після значення hidden. нічого не відбувається.
В даному випадку версія Престо не грає ролі. Ви чистили кеш?
Цікавить модуль + є питання.
З цим модулем потрібно робити всі ці правки описані в статті, або досить просто поставити і налаштувати модуль?