Записать в корзину товары 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()); // Получаем и распечатываем состояние корзины
}
Максим
04 мая 2018, 09:26
modx.pro
907
0

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

Максим
05 мая 2018, 17:00
0
miniCart обновляется JS-ом. Поэтому вешайте сообытие еще и на js.
    Максим
    05 мая 2018, 17:13
    0
    А как в корзину добавить свойства таким образом?
    Максим
    05 мая 2018, 17:21
    +1
    Вот как объявлен метод добавления в исходниках: public function add($id, $count = 1, $options = array())
    Просто передавайте нужные параметры!)))
    Да и вообще полезно рыться в исходниках! Не ждали бы пару дней ответа!))))
      Максим
      05 мая 2018, 23:41
      0
      мой затуп))
        Максим
        06 мая 2018, 00:11
        0
        что-то выводит пустой массив и не добавляет

        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(); // Получаем и распечатываем состояние корзины
                }
        Максим
        06 мая 2018, 00:38
        0
        можно закрыть, все работает, закешировалось просто, если кому-то понадобиться то вот
        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(); // Получаем и распечатываем состояние корзины
                }
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          6