Pagine

giovedì 25 novembre 2010

Tabella con righe di colore alternato in Symfony

Creare dinamicamente una tabella con righe di colore alternato è estremamente semplice, solo che richiede il copia/incolla dello stesso codice ogni volta che si vuole usare. Sfruttando gli helper di symfony è possibile definirne uno perché si occupi da solo del problema.

class HtmlList
{
  public static function Alternate($one, $two)
  {
    self::$alternateRow = !self::$alternateRow;
    return self::$alternateRow ? $one : $two;
  }
  
  public static function PariDispari(){
   return self::Alternate('pari','dispari');
  }
 
  private static $alternateRow = true;
}

Per richiamarlo (dopo aver definito l'helper nella pagina) basta usare la sintassi

...
<table><tbody>
<?php foreach ($righe as $riga): ?>
<tr class="<?php echo HtmlList::PariDispari(); ?>">
<td>....</td> <td>....</td> </tr>
<?php endforeach; ?>
</tbody> </table>
....

e naturalmente definire le classi pari e dispari in un css, con sfondi di colore diverso.

Per impostare la classe in un caso particolare useremo invece

...
<table><tbody>
<?php foreach ($righe as $riga): ?>
<tr class="<?php echo HtmlList::Alternate('bianco','nero'); ?>">
<td>....</td> <td>....</td> </tr>
<?php endforeach; ?>
</tbody> </table>

Nessun commento:

Posta un commento