/ Published in: PHP
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
function admin_reorder( $id = false ) { $this->autoRender = false; // obtengo el parent para ordenar por el $itemParent = $this->Category->getparentnode( $id ); // si el contenido tiene un padre... # CakeLog::write('debug', 'Ordenando un nodo de nivel > 0'); // ordeno el padre $this->Category->reorder( array( 'id' => $itemParent['Category']['id'], 'field' => 'order_by', 'order' => 'ASC' ) ); else: # CakeLog::write('debug', 'Ordenando un nodo de nivel = 0'); // si no tiene padre traigo todos los contenidos sin padre y los ordeno 'Category.parent_id' => 0, 'Category.parent_id IS NULL' ) ), 'order' => 'Category.order_by ASC' ) ); //pr( $nodes ); // va tomando nodo por nodo y lo pone al final del arbol if ( $nodes ) { foreach ( $nodes as $node ) { $this->Category->moveDown( $node['Category']['id'], true); } } // si encuentra un error intenta recuperar el el arbol if ( !$this->Category->verify() ) : CakeLog::write('debug', 'Error al ordenar arbol de categorÃas con el ID: ' . $id . '. Intentando recuperar...'); $this->Category->recover('parent'); endif; endif; $this->redirect('index'); }