Алексей Шумаев

Алексей Шумаев

Был в сети Вчера в 09:45
Заказы принимаю
http://prntscr.com/gh8rr0. Стандартно идёт ответ с общим количеством.

Можно так: расширить класс mscarthandler.class.php, добавив методу status ещё один элемент, например total_num, где указывать то, что нужно. Он будет в response и его можно использовать в сниппете миникорзины или в js-callback miniShop2.Callbacks.Cart.change.response.success.
Это универсально, т.к. можно добавлять любую информацию и, например, выводить красивое окошко с информацией о добавленном товаре, составе корзины, скидки и т.д.

Можно как-то иначе, через плагин например, или сделать свой сниппет миникорзины, куда добавить нужный параметр, просто count($_SESSION['minishop2']['cart']) :-).
В общем вариантов несколько…
Можно так ))):

{$_modx->runSnippet('extScripts',['code'=>'Код внешнего скрипта, например из ресурса или системной настройки'])}

Сниппет:

$search = array('{', '}');
$replace = array('{ ', ' }');
$out = str_replace($search,$replace,$code);
return $out;

Так можно избежать ошибок Fenom во внешних скриптах и подобных случаях…
Изображения сначала нужно загрузить.
Примерно так:
$dir = 'temp/';
	$file = ''; // здесь собственно файл, полученный например curl'ом по ссылке из xml
        $image = $dir.basename('путь к файлу в xml');
        $fp = fopen($newfile, 'w');
        fwrite($fp, $file);
        fclose($fp);
                
        if(is_file($newfile)) {
             $response = $this->modx->runProcessor('gallery/upload',
    			array('id' => $resID, 'name' => $product['pagetitle'], 'file' => $newfile),
    			array('processors_path' => $this->corePath.'components/minishop2/processors/mgr/')
    		);
    		if ($response->isError()) {
    			$this->modx->log(1, 'Ошибка загрузки изображения:'.print_r($response->getAllErrors(), 1));
    		}
    		unlink($newfile);
        }