Процессор для массового добавления в корзину minishop2. Принимает значения ids - ID товаров.

 

core/components/custom/processors/web/cart/add.class.php

<?php
require_once MODX_CORE_PATH . 'model/modx/modprocessor.class.php';

class AddToCartCustom extends modProcessor
{
    public $objectType = 'modResource';
    public $classKey = 'modResource';

    public function process()
    {
        $ids = $this->getProperty('ids');

        if ($miniShop2 = $this->modx->getService('miniShop2')) {
            // Инициализируем класс в текущий контекст
            $miniShop2->initialize('web');

            foreach ($ids as $id) {
                $obj = $this->modx->getObject('msProduct', $id);
                $nalichie = $obj->get('vnalich')[0];
                if ($nalichie != 'Под заказ') {
                    $response = $miniShop2->cart->add($id, 1);
                }
            }

            $data = $miniShop2->cart->status();
            $response['data'] = $data;
            $response['message'] = 'Количество товаров в корзине успешно изменено: ' . $data['total_count'];

            return $this->success($response['message'], $data);
        }

    }

}

return 'AddToCartCustom';
← Массовое удаление из избранного. msFavoritesКомпонент доставки boxberry не актуален →