Diferencia entre revisiones de «Datagrid Simple»

De KumbiaPHP Framework Wiki
Línea 6: Línea 6:
 
<?php
 
<?php
 
class ClienteController extends ApplicationController {
 
class ClienteController extends ApplicationController {
 +
 
public function page(){
 
public function page(){
$this->opciones = array('Modelo' => Load::model('cliente')->find(), // Paso el modelo que voy a utilizar
+
        // Paso el resultado de la consulta que sera mostrada en el datagrid
'Campos' => array('Codigo' => 'id',// paso un array con los campos que quiero mostrar  
+
        $this->result = Load::model('cliente')->find();
  'Nombre' => 'nombre',
+
       
  'Telefono' => 'telefono',
+
$this->campos = array('Codigo' => 'id',// paso un array con los campos que quiero mostrar  
  'Direccion' => 'direccion'))
+
      'Nombre' => 'nombre',
 +
      'Telefono' => 'telefono',
 +
      'Direccion' => 'direccion'));
 
}
 
}
  
 
}
 
}
?>
 
 
 
//  Se maneja todo desde la vista
 
//  Se maneja todo desde la vista
 
</source>
 
</source>
 
  
 
=== En la vista ===
 
=== En la vista ===

Revisión del 23:42 20 ago 2009

Partials para crear de forma simple un datagrid

En el controlador

<?php
class ClienteController extends ApplicationController {

	public function page(){
        // Paso el resultado de la consulta que sera mostrada en el datagrid
        $this->result = Load::model('cliente')->find();
        
	$this->campos = array('Codigo' => 'id',// paso un array con los campos que quiero mostrar 
			      'Nombre' => 'nombre',
			      'Telefono' => 'telefono',
			      'Direccion' => 'direccion'));
	}

}
//  Se maneja todo desde la vista

En la vista

/app/view/cliente/page.phtml

<?php	 
 View::partial('datagrid/simple'false,$opciones)
?>

Partials

/app/view/partials/datagrid/simple.phtml

<?php
/**
 * Renderiza una tabla en base a un modelo.
 *
 * @author Andres Hal
 * 
 * @param array $Modelo modelo del activerecod
 * @param array $Campos array con los que se quieren mostrar de la tabla
 * @return partial
 */
?>

	<div id="datagrid">
	<?php
		echo "<table  border=\"1px\" class=\"simple\">";
		echo "<thead><tr>";
			foreach( $Campos  as $titulo => $valor):
				echo "<th>" . $titulo . "</th>";
			endforeach;
		echo "</tr></thead><tbody>";
			foreach( $Modelo as $model):
				echo tr_color_class( 'tr_primary', 'tr_secondary' );
				foreach($Campos as  $campos):
					echo "<td>". $model->$campos . "</td>";
				endforeach;
				echo "</tr>";
			endforeach;
		echo "</tbody></table>;
	?>
	</div>";