Куда идем?
Расширение ннтернет-магазина для Joomla 3.

Как сделать вывод кнопок плюс (+) и минус (-) в корзине

Больше
1 год 10 мес. назад #9503 от Василий
Здравствуйте, подскажите, как можно реализовать вывод этих кнопок в корзине оформления заказа?

Спасибо
Вложения:

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
1 год 10 мес. назад #9505 от Wedal
Василий, у меня своя корзина, где это реализовано. Здесь вот какая тонкость: эти кнопки должны при нажатии не только менять количество (это можно было бы сделать тривиально, добавив в макет кнопки и написав пару строк JS-кода), а также пересчитывать всю корзину, ведь от количества меняется сумма за позицию, общая сумма заказа, возможные способы оплаты/доставки, купоны, скидки - надеюсь, понимаете.

Как это сделать? Либо через AJAX-запрос при клике по такой кнопке и последующее размещение полученных данных в нужных местах страницы корзины, либо добавлять кнопку обновления, как в стандартной корзине, которая будет отправлять запрос к серверу и перезагружать всю страницу корзины с новыми данными. У меня в корзине реализован первый вариант. В стандартной - второй, но только без кнопок.

В простейшем случае вы можете сделать так:
1) Переопределить макет корзины в шаблон.
2) Добавить кнопки плюс/минус
3) Скрыть кнопку обновления корзины (но не удалять!)
4) Написать обработчики кнопок плюс/минус на JS, которые будут менять количество в инпуте и затем сабмитить форму (или же просто нажимать на скрытую кнопку "обновить").

Да, так страница корзины будет перезагружаться при каждом клике по плюс/минус, но это будет работать.

Более прогрессивный вариант - AJAX-запрос. Но нужно обновлять много данных, да и тонкостей очень много. Здесь проще приобрести готовое расширение корзины.
Спасибо сказали: Василий

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.

Больше
1 год 10 мес. назад #9506 от Василий
Прикольное решение скрыть кнопки обновления! :) Спасибо! Попробую!

Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.