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

 

core/components/custom/processors/web/favorites/remove.class.php

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

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

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

        $msFavorites = $this->modx->getService('msfavorites.msFavorites', '', MODX_CORE_PATH . 'components/msfavorites/model/');

        if ($msFavorites) {
            foreach ($ids as $id) {
                $output = $msFavorites->processMethod([
                    'ctx' => 'web',
                    'method' => 'remove',
                    'key' => $id,
                    'list' => 'default',
                    'type' => 'resource',
                    'service' => 'msfavorites',
                    //'action' => 'favorites/multiple'
                ]);
            }
        }

        $output = $this->modx->fromJSON($output);

        if ($output['success'] == true) {
            $output_2 = $output['data'];
        }

        return $this->success('', [
            'remove_ids' => $ids,
            'output' => $output_2
        ]);

    }

}

return 'RemoveFromFavoritesCustom';
← Изменение полей при создании заказа в minishop2Массовое добавление в корзину. Minishop2 →