Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля
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 работало...
198 196 2014-05-30 12:53:14 13650
Описание проекта