Для данного представления с именем 'Children' (с двумя полями: child_node_id и birth_order_value), каким программным способом лучше всего выполнить итерацию по набору результатов представлений с помощью display_id 'default' и аргумента, который содержит идентификатор родительского узла?
Ранее я использовал View в блоке, используя код, подобный следующему:
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);
}
Однако в другом блоке я хочу выполнить некоторую логику на основе значений, найденных в представлении. Вы можете догадаться, что бизнес-логика основана на моем последнем требовании: я хочу, чтобы блок кода, поддерживающий представление ('Children'), вызывался несколько раз. Поскольку я перебираю результаты набора данных представления, я хочу рекурсивно перебирать дочерние узлы, запрашивающие их потомков.
foreach
вместо for (.. sizeof ()), он работает намного лучше (потому что это C вместо PHP).
if (arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2))
, лучше использовать if ($node = menu_get_object())
.