Revision: 16193
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 28, 2009 16:29 by sveggiani
Initial Code
// ESTO ES EN EL MODELO // CUSTOM VARS var $documentsList = array(); // esta propiedad guardará lo que vamos tomando del array // CUSTOM METHODS // devuelve un listado de los elementos del arbol con sus elementos principales function getDocumentsList() { // creo el array que contendrá los datos $documentList = array(); // traigo los datos $documents = $this->find('threaded', array('order' => 'Document.folder DESC, Document.description ASC') ); //pr( $documents ); // creo una variable global que pueda ser accedida por la otra función para ir guardando los valores $this->traverseArray( $documents ); return( $this->documentsList ); } // recorre el array anidado y va asignando en el array los valores function traverseArray( $items, $level = -1 ) { $level++; foreach( $items as $item ) { // datos de cada elemento $this->documentsList[] = array( 'id' => $item['Document']['id'], 'text' => $item['Document']['description'], 'level' => $level, 'folder' => $item['Document']['folder'], 'filename' => $item['Document']['filename'] ); // si es un array y no está vacÃo lo recorre if ( is_array( $item['children'] ) && !empty( $item['children'] ) ) { $this->traverseArray( $item['children'], $level ); } } }
Initial URL
Initial Description
Initial Title
recursively walks a Cakephp threaded array (Tree behavior)
Initial Tags
cakephp
Initial Language
PHP