Hello davidm,
pas de souci, et mea culpa, j’aurais dû poster la réponse car j’arrive désormais à gérer ceci.
A priori, il faut passer l’objet $modx en paramètre de la fonction pour que la récursivité soit prise en compte. A vérifier toutefois, mais en tout cas ca marche désormais.
Exemple dans le snippet listRelated que j’ai modifié :
if(!function_exists('getRecursiveAllChildren'))
{
function getRecursiveAllChildren($modXObject,$idDoc,$arrayChildren = array())
{
array_push($arrayChildren,$idDoc);
$arrayDocChild = $modXObject->getAllChildren($idDoc);
foreach($arrayDocChild as $id=>$val)
$arrayChildren = getRecursiveAllChildren($modXObject,$val['id'],$arrayChildren);
return($arrayChildren);
}
}
$tableau = getRecursiveAllChildren($modx,$val);
++