Добавление товара в корзину методом GET или POST
Здравствуйте, вопрос по интернет-магазину на SS6:
нужен запрос на добавление товара в корзину методом GET или POST, и причем не штучно, а скопом. Где взять?
Здравствуйте, вопрос по интернет-магазину на SS6:
нужен запрос на добавление товара в корзину методом GET или POST, и причем не штучно, а скопом. Где взять?
5 ответов
Насколько я знаю, для добавления товара в корзину используется POST-запрос к контроллеру shopFrontendCartAddController, а он принимает ID только одного товара. Отсюда я делаю вывод, что для реализации описанной возможности потребуется написание плагина и доработка темы дизайна, для того чтобы она обращалась к контроллеру вашего плагина, а не к стандартному контроллеру Shop-Script.
А если, допустим, я хочу добавить несколько товаров в корзину по клику на одну кнопку, все эти товары находятся на данной странице и я просто при помощи jquery сделаю клики по всем кнопкам В корзину? Насколько вообще такой вариант корректен? или лучше писать плагин, который будет добавлять товары по аналогии с shopFrontendCartAddController
Корректен...почему бы и нет.
Тут вообще вариантов много. В цикле добавлять выделенные товары через стандартный cartadd контроллер еще можно.
Для одного магазина делал отдельный cartaddcustom <form action="{$wa->getUrl('/frontendCart/addcustom')} id="cart-form... - так вообще любые бантики можно вязать.
Плагин тут вообще не нужен.
Можете показать реализацию кастомного варианта?
Не сказал бы, что этот вариант таки "корректен". "Сработает в большинстве случаев" - да. Но и ошибки возможны. Если делать в цикле, то процесс может занять не мало времени в случае, если у клиента большой пинг до сервера. Если же НЕ циклично, то вряд ли получится проверить успешность добавления каждого товара. А т.к. это по сути отдельные запросы, то один(или не один) из них может получить... ну скажем ошибку 500. В результате вместо 10 товаров у клиента добавится всего 9. Поэтому "корректным" способом было бы написание своего обработчика.