|
|
18.05.2014, 14:59
|
|
Евгений
Patrol Studio
Зарегистрирован: 2014-03-06
Сообщений: 20
|
Приветствую!
Разбираюсь с корзиной и заказом..возникло 2 вопроса:
1. При изменении кол-ва товара в корзине, нужно нажать на кнопку "Пересчитать заказ", чтоб оно обновилось. А можно ли сделать чтоб оно обновлялось без нажатия на кнопку?
2. Форма заказа выведена на странице корзины с помощью настроек из админки. Но если оставить форму пустой или не заполнить обязательное поле и нажать "Оформить заказ", то нас переносит на страницу компонента "Заказ" с выводом ошибки о не правильном заполнении формы.
Есть ли способ выводить сообщения об ошибке на самой странице корзины, без перехода на стрницу компонента "Заказ"?
|
|
|
24.05.2014, 17:56
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
1. Да, такое можно сделать. У вас Минимагазин? В принципе, это и не очень-то важно даже - просто посмотрите, какой скрипт и с какими параметрами вызывается при нажатии на кнопку "Пересчитать" (firebug вам в руки), и делайте точно такой же запрос с помощью jQuery+ajax (.post-метод). Если это модуль "Интернет-магазин", то вам просто ajax-submit формы нужно делать (опять же .post'ом). Она передает параметры на скрипт post.php, на него и надо кидать содержимое формы. Потом в callback-функции после выполнения запроса просто считывайте текущее состояние корзины и вставляйте информацию
2. С этим тоже непросто. Тут два варианта.
Первый (думаю, самый правильный) - не в корзину вставлять форму заказа, а наоборот - в заказ вставлять форму корзины. Проблема сама по себе решится.
Второй - поставить плагин jquery validate, который будет смотреть данные, введенные в форме заказа, и если что-то не так, то просто не даст нажать кнопку оформления заказа и выведет соответствующие ошибки возле полей.
|
|
|
26.05.2014, 06:20
|
|
Евгений
Patrol Studio
Зарегистрирован: 2014-03-06
Сообщений: 20
|
Руслан, спасибо Вам за наводку...решение простое, думаю будет многим полезно (особенно начинающим в NetCat'e, коим и я являюсь)
Итак, у нас есть стандарная форма корзины в Минимагазине. Код input поля ввода кол-ва товара :
Код:<input type='text' size='3' name='good[<?= $f_RowNum ?>][quantity]' value='<?= $f_quantity ?>'/>
РЕШЕНИЕ простое:
Код:<input type='text' size='3' name='good[<?= $f_RowNum ?>][quantity]' value='<?= $f_quantity ?>' onchange='this.form.submit()' />
И не надо больше пользователю делать лишних движений))
Над вторым вопросом бьюсь, думаю скора и его решу)) Еще раз спасибо за помощь знатокам движка - она очень нам помогает!
|
|
|
30.05.2014, 12:53
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Пожалуйста!
В принципе, конечно, можно и так решить проблему. Только многим заказчикам не нравится перезагрузка страницы после изменения кол-ва. По-хорошему бы (если позволяет время и силы) доработать это, чтобы через ajax работало...
|