Вывод суммы значений TV полей
Ребят, помогите чайнику пожалуйста. Мне нужно просто вывести в определенном месте шаблона сумму значений определенного TV поля по всем ресурсам. Создал вот такой сниппет:
[[!countArea?&parents=`5`&tvname=`certificateArea`]]
parents — 5 это номер ресурса родителя, в котором есть ресурсы с TV полем certificateArea.
Однако выводится 0. Хотя поля заполнены цифрами и тип ввода у этого поля — число.
<?php
$values = array();
$ids = $modx->runSnippet('pdoResources', array(
'parents' => $parents,
'limit' => 0,
'returnIds' => 1
));
$resources = explode(',', $ids);
foreach($resources as $id){
$resource = $modx->getObject($id);
$tv = $modx->resource->getTVValue($tvname);
if(is_numeric($tv)) $values[] = $tv;
}
$out = array_sum($values);
return $out;Вызываю его вот так:[[!countArea?&parents=`5`&tvname=`certificateArea`]]
parents — 5 это номер ресурса родителя, в котором есть ресурсы с TV полем certificateArea.
Однако выводится 0. Хотя поля заполнены цифрами и тип ввода у этого поля — число.
Комментарии: 4
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Но в таком случае у меня выдает ошибку:
Вот эта строка не работает
Вызываю так:
Если напрямую написать
То работает. Если в самом начале написать
$type = '1';
то тоже работает
Я так понимаю дело в синтаксисе, но я его победить так и не смог, что только не перепробовал. Знаний не хватает, примеры похожие не нашел ((