PG

PG

Был в сети 23 февраля 2022, 18:24
Заказы не принимаю
Отправить деньги
Нужно в этом файле: «home/c/ct36965/modx_4/public_html/core/model/modx/modresource.class.php» изменить
$this->modx
на
$this->xpdo
Как раз таки в строке 1362
обращаю внимание, это ядро MODX
Но скорее всего при следующем обновлении уже будет исправлено, так что можно не боятся обновления
А зачем еще раз инициализировать minishop2?
Эти события уже получают $cart
попробуйте так:
<?php
switch ($modx->event->name) {
    case 'msOnChangeInCart': case 'msOnAddToCart': case 'msOnRemoveFromCart': 
        $total_count = $cart->status()['total_count'];
        $tmp = $cart->get();


        foreach ($tmp as $key1 => $value) {
            if ($product = $modx->getObject('msProduct', $value['id'])) {
            	$tmp[$key1]['price'] = 22222222222;
            }
        }
        
        if ($total_count > 4) { // если 5 и более товаров - оптовые цены, в интернет-магазине оптовые цены забиваются в поле article
            foreach ($tmp as $key1 => $value) {
                if ($product = $modx->getObject('msProduct', $value['id'])) {
                	$tmp[$key1]['price'] = 22222222222;
                }
            }
        }
        else {
            foreach ($tmp as $key1 => $value) {
                if ($product = $modx->getObject('msProduct', $value['id'])) {
                	$tmp[$key1]['price'] = 11111111;
                }
            }
        }
        $cart->set($tmp);
        break;
}
в документации все написано
resources — Список товаров, через запятую, для вывода в результатах. Если id товара начинается с минуса, этот товар исключается из выборки.
[[!msProducts? 
	&limit=`4`
	&includeThumbs=`194x347`
	&parents=`[[*parent]]`
	&sortby=`RAND()`
	&resources=`-[[*id]]`
 ]]