GAGA Template

XLetter

assign_array()

Créé par gaga26 le 18/01/2007 18:02, derniere modification le 06/02/2008 16:39 par gaga26

assign_array(string name, array vars)

assign_array() va déclarer un block avec comme nom, name et comme variables, le tableau vars.

Il est préférable d'utiliser assign_array() à assign() quand on ne sait pas le nombre de lignes qui vont être retournés, lors d'une requête SQL ou d'une boucle par exemple.

Exemple 1 :

<?php
...
for($i=1; $i<=10; ++$i) //lors d'une boucle
{
        $tpl->assign_array('boucle_for', array('numéro' => $i));
}
...
?>


Exemple 2 :

<?php
...
$req = mysql_query('SELECT * FROM membres'); //lors d'une requête SQL
while($data = mysql_fetch_array($req))
{
        $tpl->assign_array('list_membres', array('pseudo' => $data['pseudo'], 'prenom' => $data['prenom'], 'nom' => $data['nom']));
}
...
?>


Exemple 3 :

Lorsqu'il y a des sous-blocks, le block parent et le sous-block sont séparés par un points lors de l'assignation et dans le fichier template (depuis la 2ème version).
<?php
...
for($i=1; $i<=10; ++$i) //lors d'une boucle
{
    $tpl->assign_array('block', array('titre' => $i));

    for($j=1; $j<=10; ++$j) //lors d'une sous boucle
    {
        $tpl->assign_array('block.sous_block', array('numero' => $i.$j));
    }

}
...
?>
<foreach var="$block" as="x">
    <h3>Titre {$titre}</h3>
    <ul>
        <foreach var="$x[sous_block]" as="y">
            <li>{$numero}</li>
        </foreach>
    <ul>
</foreach>


Voir aussi la fonction assign() et les balises foreach et {var}.

Retour