Сегодня будет изменять формы регистрации клиента (!) у вашем интернет-магазине. Как по мне, стандартная форма не очень привлекательная и много лишних полей. Нынче краткость ликует.
Перед тем, что бы начать что-то делать с этого урока уточню, он не закончен. Форма регистрации все будет изменена, но форма редактирование в профиле уже зарегистрировавшегося клиента остается стандартной, в которой остаются обязательные поля те, которые в этом уроке будут удалены или станут необязательными. Можно считать это 1 из 2 частей урока. Также в уроке не будет рассматриваться оформление css.
OpenCart 1.5.4.1
В уроке будем крутить:
1.удаляем:
Удалим обработку форм с файла tpl:
1. Факс;
2. Company ID;
3. Адрес (продолжение);
4. 5. 6. 7. Вывод ошибки.
2.удаляем:
3.удаляем:
Урок закончен.
P.S.
Если вы хотите, что бы было 1. Основные данные - цифра 1. 2. и т.д. тогда зайдите в языковый файли редактируйте:
Плюс, если нужно, что бы формы были больше, тогда:
все это крутить в файле:
Перед тем, что бы начать что-то делать с этого урока уточню, он не закончен. Форма регистрации все будет изменена, но форма редактирование в профиле уже зарегистрировавшегося клиента остается стандартной, в которой остаются обязательные поля те, которые в этом уроке будут удалены или станут необязательными. Можно считать это 1 из 2 частей урока. Также в уроке не будет рассматриваться оформление css.
OpenCart 1.5.4.1
В уроке будем крутить:
\catalog\controller\account\register.php \catalog\view\theme\default\template\account\register.tpl \catalog\view\theme\default\template\checkout\register.tpl
1.
\catalog\controller\account\register.php
1. $this->data['entry_fax'] = $this->language->get('entry_fax'); 2. $this->data['entry_company_id'] = $this->language->get('entry_company_id'); 3. $this->data['entry_address_2'] = $this->language->get('entry_address_2'); 4. if (isset($this->error['company_id'])) { $this->data['error_company_id'] = $this->error['company_id']; } else { $this->data['error_company_id'] = ''; } 5. if (isset($this->request->post['fax'])) { $this->data['fax'] = $this->request->post['fax']; } else { $this->data['fax'] = ''; } 6. if (isset($this->request->post['company_id'])) { $this->data['company_id'] = $this->request->post['company_id']; } else { $this->data['company_id'] = ''; } 7. if (isset($this->request->post['address_2'])) { $this->data['address_2'] = $this->request->post['address_2']; } else { $this->data['address_2'] = ''; }
1. Факс;
2. Company ID;
3. Адрес (продолжение);
4. 5. 6. 7. Вывод ошибки.
2.
\catalog\view\theme\default\template\account\register.tpl
1. Форма Факс <tr> <td><?php echo $entry_fax; ?></td> <td><input type="text" name="fax" value="<?php echo $fax; ?>" /></td> </tr> 2. Company ID: <tr id="company-id-display"> <td><span id="company-id-required" class="required">*</span> <?php echo $entry_company_id; ?></td> <td><input type="text" name="company_id" value="<?php echo $company_id; ?>" /> <?php if ($error_company_id) { ?> <span class="error"><?php echo $error_company_id; ?></span> <?php } ?></td> </tr> 3. Адрес (продолжение) <tr> <td><?php echo $entry_address_2; ?></td> <td><input type="text" name="address_2" value="<?php echo $address_2; ?>" /></td> </tr>
3.
\catalog\view\theme\default\template\checkout\register.tpl
1. Факс <?php echo $entry_fax; ?><br /> <input type="text" name="fax" value="" class="large-field" /> <br /> <br /> 2. Company ID <div id="company-id-display"><span id="company-id-required" class="required">*</span> <?php echo $entry_company_id; ?><br /> <input type="text" name="company_id" value="" class="large-field" /> <br /> <br /> </div> 3. Адрес (продолжение) <?php echo $entry_address_2; ?><br /> <input type="text" name="address_2" value="" class="large-field" /> <br /> <br />
Урок закончен.
P.S.
Если вы хотите, что бы было 1. Основные данные - цифра 1. 2. и т.д. тогда зайдите в языковый файл
\catalog\language\russian\account\register.php
$_['text_your_details'] = '1. Основные данные'; $_['text_your_address'] = '2. Ваш адрес'; $_['text_newsletter'] = '4. Рассылка новостей'; $_['text_your_password'] = '3. Ваш пароль';
<td><span class="required">*</span> <?php echo $entry_lastname; ?></td> в следующую строку вписать: size="50" на виходе: <td><input type="text" size="50" name="lastname" value="<?php echo $lastname; ?>" />
\catalog\view\theme\default\template\account\register.tpl
Прошу отписаться. кто будет делать этот урок у себя. Над уроком работал далеко от Интернета, вручную все писалось и проверялось только в общих чертах. поэтому если будут ошибки - будем решать оперативно.
ОтветитьУдалитьСпасибо, пригодилось. Но еще пришлось править файл catalog/model/account/customer.php Программа сама выдаст ошибку, ориентируясь на нее нудно править.
ОтветитьУдалитьха-ха! Это конечно "нудно". Но в данном контексте имелось в виду "нужно"
УдалитьКакая ошибка? можно копипаст?
УдалитьА у меня почему-то вообще все поля на месте остались )хотя вроде все по инструкции, внимательно...
ОтветитьУдалитьСпасибо большое ! Очень помогло, надеюсь будут следующие уроки
ОтветитьУдалитьПодтверждаю, в файле catalog/model/account/customer.php надо править ещё, на line 14 и 18 комментировать или удалять массивы не нужные.
ОтветитьУдалитьКак теперь сделать так чтобы был просто "Адрес", а не "Адрес 1"
ОтветитьУдалитьэто делается в языковом файле (\catalog\language\russian\account\register.php)
УдалитьЗдравствуйте, оформили регистрацию очень солидно..
ОтветитьУдалитьВот бы ещё выпилить телефон обязательный..
мои клиенты не всегда хотят регистрироваться из-за этого .
А смысл? как вы свяжетесь с клиентом? если уже телефон не хотят уводить - тогда и мыло будет врятли присутствовать...
Удалитьмне не надо с ним связывать.
ОтветитьУдалитьВся общение с клиентами по тикетам и почте,скайпу.
Покажите как реализовать?
Это все решается в файле: \catalog\controller\account\register.php
УдалитьНайдите строку с "$phone" или как он там обзывается и удалите, а лучше закоментируйте по аналогии 1 шага.
Александр спасибо вашему уроку)
УдалитьБлагодаря вам разобрался что да к чему..
удалил телефон как и хотел.
Правда ещё править тут пришлось
catalog/model/account/customer.php
так что стоит дополнить ваш урок....
Блог готовиться к переезду на другую платформу. Так что тут уже уроки появляться не будут, да и версия ОС сейчас не 1.5.4.1.
УдалитьЗдраствуйте. помогите пожалоста - неработает на сайте форма регистрации - человек заполняет полностю форму нажимает (продолжить) и его тупо переносит на вех странице-и ничего непроисходит. помогите пожалоста
ОтветитьУдалитьДобрый вечер.
УдалитьРекомендую вернуть старую версию всех файлов.
У вас что то с обработчиком отправки формы.
Я уже так делал но все по сатрому (((
УдалитьЕслы сможете посмотрите пожалоста
Удалитьwww.biserna-ledy.com.ua
У вас кривой файл шаблона registration и может еще 1001 ошибка в файлах шаблона. Используйте стандартный шаблон или обратитесь к специалистам, кто сможет поправить Ваш шаблон.
Удалитьтак ета форма регистрации взяти с стандартного шаблона ето просто переделаний стандартний шаблон на такой как Вы видите
УдалитьДА вы же кеп очевидность) в теме написано "Упрощаем форму регистрации". Ясно ведь что это стандартный шаблон
УдалитьNotice: Undefined index: fax in
ОтветитьУдалить\www\1\catalog\model\account\customer.php on line 14Notice: Undefined index: company in \www\1\catalog\model\account\customer.php on line 18Notice: Undefined index: company_id in
\www\1\catalog\model\account\customer.php on line 18Notice: Undefined index: address_2 in \www\1\catalog\model\account\customer.php on line 18Warning: Cannot modify header information - headers already sent by (output started
\www\1\index.php:104) in \www\1\system\engine\controller.php on line 28Warning: Cannot modify header information - headers already sent by (output started at \www\1\index.php:104) in
\www\1\system\engine\controller.php on line 29
У всех файлах удалите или лучше закоментируйте все, где есть слово "fax"
УдалитьНе помогло
УдалитьУ меня opencart 2.0
ОтветитьУдалитьВсе сделал, все получилось. Правда в 2,0 код немного отличается от примера в статье, однако догадался, сделал.
Спасибо.