Prestashop 1

Всім хороший движок Prestashop. Але, реєстрація нового користувача відлякає всіх покупців. Спростити оформлення замовлення можна за допомогою модулів, але вони платні і недешеві. Залишається один вихід - зробити це самому.







Що ми будемо робити? Ми видалимо непотрібні нам поля при реєстрації, залишивши тільки найнеобхідніші. Для себе я вирішив, що залишу такі поля:

Залишилася справа за малим. Все непотрібне видалити. Отже, приступимо.

1. В адмінці заходимо Локалізація-> Країни-> вибираємо вашу країну-> натискаємо редагувати і відключаємо використання поштового індексу.

2.Настройкі-> Закази-> вибираємо реєстрація в один крок, і відключаємо гостьову покупку. Чому ми це робимо? Справа в тому, що для користувача немає жодної різниці між реєстрацією і гостьовий покупкою. Різниця лише введенні пароля для реєстрації. Але кому це дуже критично. гостьову покупку можете залишити. Все що ми приберемо зайве, забереться і в гостьовій покупці автоматично.

Перед усіма діями зробіть оригінальні копії редагованих файлів.

Дивимося який клас відповідає за виведення цього елементу і копіюємо його назву. Див. Рис.1

Prestashop 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. відповідно - немає. Міняєте на потрібні вам значення і зберігаєте файл. Всі починаємо тестувати. Вводите тестові дані і дивіться щоб не було помилок. Якщо у вас все вийшло, то у вас форма після збереження даних повинна випрасувати приблизно так:

Prestashop 1

Рис.2 Зміна форми регістаціі

Як ви здогадалися, вам треба шукати це рядок без слова hidden

Prestashop 1

На цьому ваша робота буде закінчена.

Після довгих пошуків, я знайшов для себе відмінний модуль. Якщо ви пройдете по посиланню, але можете його протестувати на демо. Особисто мені він підійшов повністю. У нього дуже гнучкі настройки. Одним словом клас. І найголовніше, він вдало пройшов тест у моєї дружини :).

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. нічого не відбувається.

В даному випадку версія Престо не грає ролі. Ви чистили кеш?

Цікавить модуль + є питання.
З цим модулем потрібно робити всі ці правки описані в статті, або досить просто поставити і налаштувати модуль?







Схожі статті