$nodes = $H->getList ('node', null);
$index = Array ();
foreach ($nodes as $node)
{
$cparent = $node->getParent ();
$curi = '';
while ($cparent)
{
foreach ($nodes as $cnode)
{
if ($cnode->getId () == $cparent)
{
$cparent = $cnode->getParent ();
$curi = $cnode->getPath () . $curi;
}
}
}
$curi = $curi . $node->getPath ();
$index[$node->getId ()] = $curi;
}
обратная итеративная сборка путей элементов навигации.
красивый, элегантный код, что характерно - работает быстрее рекурсии
public / 8 комментариев
29.01.2008, 18:28