Добавление товара в корзину методом GET или POST

Здравствуйте, вопрос по интернет-магазину на SS6:

нужен запрос на добавление товара в корзину методом GET или POST, и причем не штучно, а скопом. Где взять?

9 ответов

  • 1
    Михаил Ушенин 7 июля 2015 04:05 #

    Насколько я знаю, для добавления товара в корзину используется POST-запрос к контроллеру shopFrontendCartAddController, а он принимает ID только одного товара. Отсюда я делаю вывод, что для реализации описанной возможности потребуется написание плагина и доработка темы дизайна, для того чтобы она обращалась к контроллеру вашего плагина, а не к стандартному контроллеру Shop-Script.

    • +1

      А если, допустим, я хочу добавить несколько товаров в корзину по клику на одну кнопку, все эти товары находятся на данной странице и я просто при помощи jquery сделаю клики по всем кнопкам В корзину? Насколько вообще такой вариант корректен? или лучше писать плагин, который будет добавлять товары по аналогии с shopFrontendCartAddController

      • +1
        Николай Иванов Николай Иванов 21 января 2016 03:33 #

        Корректен...почему бы и нет.
        Тут вообще вариантов много. В цикле добавлять выделенные товары через стандартный cartadd контроллер еще можно.
        Для одного магазина делал отдельный cartaddcustom <form action="{$wa->getUrl('/frontendCart/addcustom')} id="cart-form... - так вообще любые бантики можно вязать.
        Плагин тут вообще не нужен.

        • +1
          Minya Jam Minya Jam 15 марта 2016 14:52 #

          Можете показать реализацию кастомного варианта?

      • +1
        Леман Евгений Леман Евгений 16 марта 2016 03:13 #

        Не сказал бы, что этот вариант таки "корректен". "Сработает в большинстве случаев" - да. Но и ошибки возможны. Если делать в цикле, то процесс может занять не мало времени в случае, если у клиента большой пинг до сервера. Если же НЕ циклично, то вряд ли получится проверить успешность добавления каждого товара. А т.к. это по сути отдельные запросы, то один(или не один) из них может получить... ну скажем ошибку 500. В результате вместо 10 товаров у клиента добавится всего 9. Поэтому "корректным" способом было бы написание своего обработчика.

  • 1
    konstantinsorokin 15 ноября 2023 15:44 #

    Подскажите пожалуйста, как можно добавить товар (поштучно) по прямой ссылке в корзину?

    Например есть товар: Книга №1, ее - ID 223
    Если перейти по ссылке https://site.ru/cart/add/?=223 - будет ответ в формате JSON - { "status": "fail", "errors": "Товар не найден" }, но на самом деле этот товар есть и его остатки и наличие актуально.

    P.S. Поддержка как всегда "на морозе" отправляет на форум) 

  • 0
    ITFrogs 15 ноября 2023 22:32 #

    вот тут наверное то, что вам нужно

    https://www.webasyst.ru/store/...

    • +1
      konstantinsorokin konstantinsorokin 15 ноября 2023 22:56 #

      Вообще все это нужно для Гугл мерчанта. Ваш плагин не подойдет (я уже смотрел его вчера и почти купил), но в нем можно делиться корзиной с товарами, а мне нужно конкретно добавление товара в корзину по ссылке. То есть, например, покупатель увидел карточку товара в поиске Гугл Книга№1, нажал на нее, происходит редирект на магазин СРАЗУ уже в корзину, в котором он УЖЕ видит добавленную для покупки Книга№1 - остается только нажать кнопку оформить заказ.

      • +1
        ITFrogs ITFrogs 16 ноября 2023 11:59 #

        в плагине можно создать вечные ссылки на корзины, где будет по одному товару.

        но конечно вы можете и другой плагин написать без всего этого. просто там не все так просто с добавлением товаров  в корзину.

Эта тема в архиве. Добавление комментариев к ней отключено.