Étant donné une vue, nommée 'Children' (avec deux champs: child_node_id et a birth_order_value), quelle est la meilleure façon, par programme, d'itérer à travers l'ensemble de résultats des vues étant donné un display_id de 'default' et un argument qui contient l'ID du nœud parent?
Auparavant, j'ai utilisé la vue dans un bloc en utilisant un code similaire au suivant:
if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2)) {
$node = node_load(arg(1));
$args = array($node->nid);
$view = views_get_view('Children');
print $view->preview('default', $args);
}
Cependant, dans un autre bloc, je veux effectuer une logique basée sur les valeurs trouvées dans la vue. Vous pourriez être en mesure de deviner que la logique métier basée sur ma dernière exigence: je veux que le bloc de code prenant en charge la vue («Enfants») soit appelé plusieurs fois. En parcourant les résultats de l'ensemble de données de vue, je souhaite parcourir de manière récursive les nœuds enfants interrogeant leurs enfants.
foreach
place de for (.. sizeof ()), il fonctionne beaucoup mieux (car c'est C au lieu de PHP).
if (arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2))
, il pourrait être préférable d'utiliser if ($node = menu_get_object())
.