Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 Упрощение регистрации
ggyyvv


Cпециалист
Сообщений: 233
Регистрация: 23-11-2012


31-08-2015 16:46
Всем доброго времени суток!

В гостевой покупке хочется
1) избавиться от кнопки подтверждения адреса
2) сделать поле индекс обязательным или нет в зависимости от способа доставки а не от выбора региона (чтобы не плодить поля для выбора)

поделитесь пожалуйста, возможно это без сторонних модулей. Если нет, то какие модули решают эти задачи?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


31-08-2015 17:49
Цитата:( ggyyvv @ 31-08-2015 17:46 Смотреть сообщение )
1) избавиться от кнопки подтверждения адреса
Приложите снимок экрана (что за кнопка).

Цитата:( ggyyvv @ 31-08-2015 17:46 Смотреть сообщение )
2) сделать поле индекс обязательным или нет в зависимости от способа доставки а не от выбора региона (чтобы не плодить поля для выбора)
Покупатель вводит адрес и основе введенных данных собирается список подходящих способов доставки, а не наоборот!
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
e_v_medvedev
Профессионал
Сообщений: 806
Откуда: Москва
Регистрация: 25-03-2011


31-08-2015 18:52
Цитата:( ggyyvv @ 31-08-2015 12:46 Смотреть сообщение )
Всем доброго времени суток!

В гостевой покупке хочется
1) избавиться от кнопки подтверждения адреса
2) сделать поле индекс обязательным или нет в зависимости от способа доставки а не от выбора региона (чтобы не плодить поля для выбора)

поделитесь пожалуйста, возможно это без сторонних модулей. Если нет, то какие модули решают эти задачи?

Возни будет много. Я такое делала на Престе (пример остался старом сайте на поддомене dev.cdolls.ru) Но неудобств было (в Престе кодирование организовано не очнеь) поэтому и по ряду других причин сайт с Престы был перенесен на Мадженто и там такой алгоритм был реализован более надежно и эффективно. Там задача была - разделить схемы ввода и состав вводимых данных в зависимости от зоны доставки и метод доставки (например в случае с указанным сайтом для самовывоза нужно вводить только email, телефон и имя, а для доставки по региона полный набор для постового отправления, в то время как для доставки по Москве нужны данные о домофоне, подъезде, этаже, а так же дате и времени приезда курьера). В пределах штатных алгоритмов большинства движков ИМ такое реализовать невозможно. И модулями это не поправить, точнее модулем это можно реализовать более или менее просто только на Мадженто, потому что там проще всего из модуля переопределить класс контроллера процесса оформления заказа, да и вообще любого класса контроллера, как ядра, так и других модулей.


Сообщение отредактировал e_v_medvedev (31-08-2015 14:56)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


31-08-2015 20:08
Цитата:( e_v_medvedev @ 31-08-2015 19:52 Смотреть сообщение )
в Престе кодирование организовано не очнеь

Бред. Не очень - это сильно.

Цитата:( e_v_medvedev @ 31-08-2015 19:52 Смотреть сообщение )
В пределах штатных алгоритмов большинства движков ИМ такое реализовать невозможно.

Бред.

Цитата:( e_v_medvedev @ 31-08-2015 19:52 Смотреть сообщение )
И модулями это не поправить, точнее модулем это можно реализовать более или менее просто только на Мадженто, потому что там проще всего из модуля переопределить класс контроллера процесса оформления заказа, да и вообще любого класса контроллера, как ядра, так и других модулей.

Переопределения доступны в PrestaShop начиная с версии 1.4.x.
В модуль можно заложить классы и контроллеры и разработать необходимый функционал с нуля или через переопределения.

Цитата:( e_v_medvedev @ 31-08-2015 19:52 Смотреть сообщение )
только на Мадженто

Загрузка страницы товара ~18 сек. Рекорд. :eek:
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
savvato11


Cпециалист
Сообщений: 289
Регистрация: 01-09-2012


31-08-2015 20:31
Цитата:
просто только на Мадженто, потому что там проще всего из модуля переопределить класс контроллера процесса оформления заказа, да и вообще любого класса контроллера, как ядра, так и других модулей


только на Мадженто, ага :lol:

Тут вообщето форум тематики CMS Prestashop , смысл этих бредовых постов и пиар Мадженты?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ggyyvv


Cпециалист
Сообщений: 233
Регистрация: 23-11-2012


31-08-2015 23:17
Цитата:( Алекс @ 31-08-2015 12:49 Смотреть сообщение )
Цитата:( ggyyvv @ 31-08-2015 17:46 Смотреть сообщение )
1) избавиться от кнопки подтверждения адреса
Приложите снимок экрана (что за кнопка).

Screenshot_2.jpg - Размер файла35.3KB (Нажмите для увеличения)
Цитата:( Алекс @ 31-08-2015 12:49 Смотреть сообщение )
Цитата:( ggyyvv @ 31-08-2015 17:46 Смотреть сообщение )
2) сделать поле индекс обязательным или нет в зависимости от способа доставки а не от выбора региона (чтобы не плодить поля для выбора)
Покупатель вводит адрес и основе введенных данных собирается список подходящих способов доставки, а не наоборот!
то есть сейчас сначала нужно заполнить поля и тогда можно выбрать способ доставки
для того чтобы убрать/добавить поле индекс нужно еще добавлять выбор страны - опять лишние поля, а если "страны" две - Москва и регионы, и способов доставки два - курьер и почта, то можно было бы задать добавление поля индекс для способа доставки почтой.
Может сильно наглый подход... осуществимо такое каким-нибудь образом?


Сообщение отредактировал ggyyvv (31-08-2015 18:18)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


01-09-2015 14:22
Кнопку "Сохранить" можно убрать (кнопку скрыть в шаблоне):
В файл: /themes/тема/js/order-opc.js
перед:
Код:
$(document).on('click', '#submitAccount, #submitGuestAccount', function(e){

добавьте подобный код:
Код:
var $submitAccount = $(document).find('#submitAccount').closest('form');
$(document).on('change', $submitAccount, function(){

    var error = false;
    var $sb = $submitAccount.find('.required input.validate:visible, .required textarea.validate:visible');
    $sb.each(function(i){

        validate_field(this);
        if ($(this).parent().hasClass('form-error') === true || !$(this).val().length)
            error = true;
        if(i == $sb.length - 1 && !error)
            $('#submitGuestAccount').click();
            
    });
});
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ggyyvv


Cпециалист
Сообщений: 233
Регистрация: 23-11-2012


03-09-2015 19:49
Алекс, уточните, пожалуйста, что должен делать этот код? сохранять данные, если они были введены? то есть иммитировать нажатие кнопки "Сохранить"?

этого почему то не происходит...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


04-09-2015 08:07
Цитата:( ggyyvv @ 03-09-2015 20:49 Смотреть сообщение )
что должен делать этот код? сохранять данные, если они были введены? то есть иммитировать нажатие кнопки "Сохранить"?

Верно.

Цитата:( ggyyvv @ 03-09-2015 20:49 Смотреть сообщение )
этого почему то не происходит...

Откройте консоль и протестируйте код еще раз.
Код сработает если все поля с правилом required в форме submitAccount будут заполнены.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ggyyvv


Cпециалист
Сообщений: 233
Регистрация: 23-11-2012


16-09-2015 07:03
в этой строчке
Код:
var $sb = $submitAccount.find('.required input.validate:visible, .required textarea.validate:visible');

для проверки сделал замену
Код:
var $sb = $submitAccount.find('.required');

теперь при изменении ЛЮБОГО поля с required происходит клик, но Вы говорили, что в Вашем примере должно быть только когда все поля заполнены

объясните, пожалуйста, как работает
input.validate:visible
и
textarea.validate:visible

от этого условия зависит что только когда все поля заполнены, происходит клик?


событие change обрабатывается, если переходишь на другое поле или кликаешь мышкой вне поля - на последнем поле нужно кликать просто так за полем ввода - это как то можно побороть?



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