Diferencia entre revisiones de «Datagrid Simple»

De KumbiaPHP Framework Wiki
Línea 26: Línea 26:
 
<source lang="php">
 
<source lang="php">
 
<?php  
 
<?php  
  View::partial('datagrid/simple'false,$opciones)
+
  View::partial('datagrid/simple'false,array('Model'=>$result, 'Campos'=>$campos));
 
?>
 
?>
 
</source>
 
</source>

Revisión del 23:43 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();

        // paso un array con los campos que quiero mostrar en la datagrid
	$this->campos = array('Codigo' => 'id',
			      '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,array('Model'=>$result, 'Campos'=>$campos));
?>

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>";