Как добавить в корзину несколько товаров
Как штатными средствами в MS2 добавить несколько товаров при нажатии на кнопку «В корзину»?
Комментарии: 5
Если «несколько товаров» это количественная характеристика одного товара, например 5 одинаковых книг, то на сервер должно передаваться количество, параметр count.
Если нужно по какой то логике формировать корзину, создаете новую страницу, на ней сниппет. Подробное описание работы с корзиной можно посмотреть здесь
Если нужно по какой то логике формировать корзину, создаете новую страницу, на ней сниппет. Подробное описание работы с корзиной можно посмотреть здесь
По второй ссылке я же и отписался там же, что метод предложенный автором не работает корректно. Мне кажется было бы удобнее если бы штатно был бы реализован метод Cart.AddMany(), я попытался его сам реализовать не лезя в переписывание msCartHandlera, но это ничего не дает, все работает не стабильно.
Несколько товаров, это в моем случае несколько артикулов по одной штуке. Теорию изучил загодя, но на самом деле ничего не работает как надо. При попытки пройтись скриптом по странице с выполнением метода Minishop2.Cart.Add()… все время имеет разные результаты. Помечены 4 товара галочками и я в цикле проверяю это и вызываю метод указанный выше, причем кусок кода выдран из defaut.js уважаемого разработчика. В итоге — выводится 4 сообщения зеленых справа вверху, но добавляется то один артикул, то два, то три. Такие дела.
Передай на сервер все данные за 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 тут
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.