Купить в один клик

Здравствуйте. Как сделать кнопку «Купить в один клик» для магазина на ShopModx? Чтобы добавлялся заказ в базу, отправлялись кому надо письма и т.д.

Я еще не очень знаком с этой системой, не могу понять как это реализовать. Хоть в голове и крутятся некоторые мысли, я не уверен, что это будет работать так, как надо. Я видел несколько хороших примеров реализации такого на ShopModx, поэтому прошу у вас помощи, вдруг кто-то уже делал такую штуку.

Comments

Посмотрите как сделано это здесь (внизу ссылка на сайт). Чаще всего это просто форма обратной связи с передачей в нее данных указанного товара, то есть даже без формирования заказа в системе. Там вы увидите только внешние скрипты, внутренних не увидите, но не сложно использовать под это form-процессор.

Я думал сделать немного по-другому: — при нажатии на «Купить в 1 клик» инициируется нажатие кнопки «Купить», т.е. товар добавляется в корзину. — открывается форма, которая потом отправится на /order/accept.html (как при оформлении заказа через корзину).

Попробовал — вроде работает, но есть некоторые нюансы.

Во-первых, по этой схеме товар добавляется в корзину, и сразу же оформляется заказ. Поэтому, если в корзину ранее были добавлены товары, то заказ будет сформирован вместе с ними.

Во-вторых, вылезает уведомление о том, что товар добавлен в корзину.

В-третьих, для оформления заказа необходимо заполнить E-mail и ФИО.

Хотел бы узнать следующее:

  1. Как очистить корзину и как добавить товар в корзину с помощью Javascript (jquery или ajax)?
  2. Как сделать при оформлении заказа поле «E-mail» необязательным, а например «Телефон» — обязательным?

Заранее спасибо!

С первым вопросом разобрался сам: отследил, какие запросы куда отправляются (при добавлении в корзину и при её очистке). Теперь выполняю их через $.ajax.

Со вторым разобрался с вашей помощью: в submit.class.php немного изменил функции initialize, validateFields и getFields.

Вроде всё работает, осталось только окно оформить и всё.

Спасибо за помощь!

Ну, окно оформить — это уж совсем не проблема. А по поводу Ajax-запросов, почитайте внимательно здесь. Как раз в последней сборке были добавлены механизмы для пользовательских запросов (см. «8. В метод ShopMODX.Request.run() добавлен четвертый параметр — url.»).

Сейчас можно передать свой собственный УРЛ, куда и будет выполнен запрос, например ShopMODX.Request.run(some_action, some_data, null, '/ajax.html').