Как добавить в корзину несколько товаров

Как штатными средствами в MS2 добавить несколько товаров при нажатии на кнопку «В корзину»?
Дмитрий Путов
09 октября 2013, 12:48
modx.pro
2 932
0

Комментарии: 5

Дмитрий Гречко
10 октября 2013, 11:29
0
Если «несколько товаров» это количественная характеристика одного товара, например 5 одинаковых книг, то на сервер должно передаваться количество, параметр count.

Если нужно по какой то логике формировать корзину, создаете новую страницу, на ней сниппет. Подробное описание работы с корзиной можно посмотреть здесь
    Дмитрий Гречко
    10 октября 2013, 11:40
    0
    Подобные вопросы тут и тут
      Дмитрий Путов
      10 октября 2013, 11:52
      0
      По второй ссылке я же и отписался там же, что метод предложенный автором не работает корректно. Мне кажется было бы удобнее если бы штатно был бы реализован метод Cart.AddMany(), я попытался его сам реализовать не лезя в переписывание msCartHandlera, но это ничего не дает, все работает не стабильно.
      Дмитрий Путов
      10 октября 2013, 11:42
      0
      Несколько товаров, это в моем случае несколько артикулов по одной штуке. Теорию изучил загодя, но на самом деле ничего не работает как надо. При попытки пройтись скриптом по странице с выполнением метода Minishop2.Cart.Add()… все время имеет разные результаты. Помечены 4 товара галочками и я в цикле проверяю это и вызываю метод указанный выше, причем кусок кода выдран из defaut.js уважаемого разработчика. В итоге — выводится 4 сообщения зеленых справа вверху, но добавляется то один артикул, то два, то три. Такие дела.
        Дмитрий Гречко
        10 октября 2013, 11:58
        0
        Передай на сервер все данные за 1 запрос. А на сервере спокойно все по полочкам разложи.
        $miniShop2 = $modx->getService('minishop2','miniShop2',
        	MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
        if (!($miniShop2 instanceof miniShop2)) return '';
        
        // Инициализируем класс в текущий контекст
        $miniShop2->initialize($modx->context->key, $scriptProperties);
        
        //Тут Запусти цикл, разбери то что пришло от браузера
        //и добавляй товары через апи 
        	$miniShop2->cart->add(5);
        Подробнее о методах $miniShop2->cart тут
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          5