Сегодня столкнулся с тем что, API функция getChildIds (выдает список id дочерних элементов на всю глубину вложенности) после обновления движка Modx Evolution с версии 1.0.2 до 1.0.5 перестала правильно выдавать количество строк. Перековыряв весь сниппет TvTagCloud, в котором проблема выявилась острее всего, оказалось, что все таки проблема в последней версии движка.
Сама функция находится в файле document.parser.class.inc.php. Недолго думая, скопировал всю функцию из движка 1.0.2 в версию 1.0.5 и вуаля, все стало на свои места.
function getChildIds($id, $depth= 10, $children= array ()) { $c= null; foreach ($this->documentMap as $mapEntry) { if (isset ($mapEntry[$id])) { $childId= $mapEntry[$id]; $childKey= array_search($childId, $this->documentListing); if (!$childKey) { $childKey= "$childId"; } $c[$childKey]= $childId; } } $depth--; if (is_array($c)) { if (is_array($children)) { $children= $children + $c; } else { $children= $c; } if ($depth) { foreach ($c as $child) { $children= $children + $this->getChildIds($child, $depth, $children); } } } return $children; }