Марат Марабар

Марат Марабар

Был в сети 21 февраля 2021, 23:35
Заказы не принимаю
Отправить деньги
Примерно так:

if (!$idt = (int)$modx->resource->id) { return ''; }

$tvId = 2; // Указать ID TV с числами
$numbers = array();
$output = '';

$q = $modx->newQuery('Ticket', array('parent' => $idt));
$q->leftJoin('modTemplateVarResource', 'TV', 'TV.contentid = Ticket.id');
$q->select($modx->getSelectColumns('modTemplateVarResource', 'TV', '', array(
    'tmplvarid', 'contentid', 'value',
)));
$q->where(array(
    'TV.tmplvarid' => $tvId,
));

if ($q->prepare() && $q->stmt->execute()) {
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        $numbers[] = $row['value'];
    }
}

if ($numbers) {
    $tmp = array_sum($numbers) / count($numbers);
    $output = round($tmp, 1);
}

return $output;
Привет.
1. Попробуй добавить в миникорзину содержимое чанка msDynamicCountChange, по идее должно работать — я не проверял.
2.
Выше не подходит решение? Я не тестировал ещё с новой версией miniShop2 — ничего не могу сказать. В планах, в апреле, есть желание переписать компонент.