Diferencia entre revisiones de «Datagrid Simple»

De KumbiaPHP Framework Wiki
Línea 50: Línea 50:
 
<div id="datagrid">
 
<div id="datagrid">
 
<?php
 
<?php
echo "<table  border=\"1px\" class=\"simple\">";
+
<table  border="1px" class="simple">"
echo "<thead><tr>";
+
<thead><tr>
foreach( $Campos  as $titulo => $valor):
+
<?php foreach( $Campos  as $titulo => $valor): ?>
echo "<th>" . $titulo . "</th>";
+
<th> <?php echo $titulo >?</th>
endforeach;
+
<?php endforeach; ?>
echo "</tr></thead><tbody>";
+
</tr></thead>
foreach( $Modelo as $model):
+
                <tbody>
echo tr_color_class( 'tr_primary', 'tr_secondary' );
+
<?php foreach( $Modelo as $model):  
foreach($Campos as  $campos):
+
echo tr_color_class( 'tr_primary', 'tr_secondary' );
echo "<td>". $model->$campos . "</td>";
+
foreach($Campos as  $campos): ?>
endforeach;
+
<td><?php echo $model->$campos ?></td>
echo "</tr>";
+
<?php endforeach; ?>
endforeach;
+
</tr>
echo "</tbody></table>;
+
<?php endforeach; ?>
 +
</tbody></table>
 
?>
 
?>
 
</div>";
 
</div>";
 
</source>
 
</source>
 
[[Categoría:Partials]]
 
[[Categoría:Partials]]

Revisión del 23:58 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 con los resultados a mostrar
 * @param array $Campos array con los que se quieren mostrar de la tabla
 * @return partial
 */
?>

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