Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/04/2013, 10:33
wilmer30
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Respuesta: Recuperar en un Container para Zend_Navigation

continuo con la recursividad y quedaría algo asi:
Código PHP:
Ver original
  1. $Iterator = new Recursive(new RecursiveArrayIterator($arrayTree), RecursiveIteratorIterator::LEAVES_ONLY);
  2.         foreach ($Iterator as $k => $v){
  3.             if (!is_array($v)){
  4. //              echo $v . "\n";
  5.                 $array['id'] = $k;
  6.             }else
  7.                 $array['pages'] = array();
  8.         }
llamando a una clase de esta manera:

Código PHP:
Ver original
  1. class Recursive extends \RecursiveIteratorIterator {
  2.     private $parentKey = null;
  3.  
  4.     }
  5.     public function callHasChildren() {
  6.         $bool = parent::callHasChildren ();
  7.         if ($bool) {
  8.             $this->parentKey = $this->key ();
  9.         }
  10.         return $bool;
  11.     }
  12.     public function current() {
  13.    
  14.         return $this->key()."=>".parent::current();
  15.     }
  16. }

esto recorre todo el arbol imprimiendo el key y el valor, lo ideal sería pasar a otra matriz, pues ese es mi problema cuando callHasChildren lo detecta debe ser capaz de almacera en la nueva matriz 'pages' que son sus nuevas páginas.