Записать в корзину товары xpdo
Как обновить miniCart при таком добавлении?
if ($action == 'addtocart'){
if ($miniShop2 = $modx->getService('miniShop2')) {
$miniShop2->initialize($modx->context->key);
print_r($miniShop2->cart->add(16)); // Добавляем товар с id = 5 и печатаем ответ
print_r($miniShop2->cart->status()); // Получаем и распечатываем состояние корзины
}
Комментарии: 6
miniCart обновляется JS-ом. Поэтому вешайте сообытие еще и на js.
А как в корзину добавить свойства таким образом?
Вот как объявлен метод добавления в исходниках: public function add($id, $count = 1, $options = array())
Просто передавайте нужные параметры!)))
Да и вообще полезно рыться в исходниках! Не ждали бы пару дней ответа!))))
Просто передавайте нужные параметры!)))
Да и вообще полезно рыться в исходниках! Не ждали бы пару дней ответа!))))
мой затуп))
что-то выводит пустой массив и не добавляет
if ($miniShop2 = $modx->getService('miniShop2')) {
$miniShop2->initialize($modx->context->key);
$miniShop2->cart->add($array["korpus2"], $options = $result, $price = $cost); // Добавляем товар с id = 5 и печатаем ответ
echo $miniShop2->cart->status(); // Получаем и распечатываем состояние корзины
}
можно закрыть, все работает, закешировалось просто, если кому-то понадобиться то вот
if ($miniShop2 = $modx->getService('miniShop2')) {
$miniShop2->initialize($modx->context->key);
$miniShop2->cart->add($array["korpus2"], $count = 1, $options = $result); // Добавляем товар с id = 5 и печатаем ответ
$tmp = $miniShop2->cart->get(); //Получаем информацию о козине - т.е. список товаров
//$modx->log(xPDO::LOG_LEVEL_ERROR, print_r($tmp, true)); // Используем лог для того чтобы хоть какую-то понимать с чем мы работаем:) (пишется в файл core/cache/logs/error.log)
foreach ($tmp as $key1 => $value) {
// Тут "бизнес логика" конкретно этого сайта, она может быть любая по сути.
if ($product = $modx->getObject('msProduct', $array["korpus2"])) {
$tmp[$key1]['price'] = $cost;
}
}
//$modx->log(xPDO::LOG_LEVEL_ERROR, $realPrice);
$miniShop2->cart->set($tmp); //Записываем данные в корзину
echo $miniShop2->cart->status(); // Получаем и распечатываем состояние корзины
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.