Framework

Méthode Templates::Assign_block_vars()

Assign_block_vars
Assign_block_vars — Permet d'assigner des variables contenues dans des boucles au fichier de template.


Description



Code PHP :
void Assign_block_vars(string $block_name, array $array_vars)


Cette méthode de la classe templates permet d'assigner les variables contenues dans les boucles aux templates.

Le paramètre $block_name est le nom de la boucle dans le template (# START nomdelaboucle #)
Lors de l'utilisation de boucles imbriquées, le nom des boucles parentes est séparé chacune par un point. Il doit être présent dans l'attribut $block_name. De plus, chaque boucle parente doit avoir été définie, sinon des erreurs seront retournées par le moteur de template.

Le tableau $array_vars permet d'envoyer la correspondance entre chaque variable de template et leur valeur. Il doit être de la forme suivante :
Code PHP :
<?php 
$Template->Assign_block_vars('nomdubloc', array(
'NOMDELAVARIABLE' => 'Valeur de la variable',
'NOMDELAVARIABLE2' => 'Valeur de la variable 2'
));
?>




Exemple 1, boucle simple



Code PHP :
<?php 
$template->Set_filenames(array(
'test' => '../templates/' . $CONFIG['theme'] . '/test.tpl'
));
 
for($i = 0; $i < 3; $i++)
{
$Template->Assign_block_vars('boucle1', array(
'VARBOUCLE_1' => $i
));
}
 
$Template->Pparse('test');
?>


Code du template test.tpl
Code TPL :
# START boucle1 # 
Code répété dans la boucle 1: {boucle1.VARBOUCLE_1}
# END boucle1 #


Cet exemple affiche:
Code TEXT :
Code répété dans la boucle 1: 1
Code répété dans la boucle 1: 2
Code répété dans la boucle 1: 3




Exemple 2, boucles imbriqués



Code PHP :
<?php 
$Template->Set_filenames(array(
'test' => '../templates/' . $CONFIG['theme'] . '/test.tpl'
));
 
for($i = 0; $i < 3; $i++)
{
$Template->Assign_block_vars('boucle1', array(
'VARBOUCLE_1' => $i
));
 
for($j = 0; $j < 3; $j++)
{
$Template->Assign_block_vars('boucle1.boucle2', array(
'VARBOUCLE_2' => $j
));
}
}
 
$Template->Pparse('test');
?>


Code du template test.tpl
Code TPL :
# START boucle1 # 
Code répété dans la boucle 1: {boucle1.VARBOUCLE_1}
    # START boucle1.boucle2 # 
    Code répété dans la boucle 2: {boucle1.boucle2.VARBOUCLE_2}
    # END boucle1.boucle2 #
# END boucle1 #


Cet exemple affiche:
Code TEXT :
Code répété dans la boucle 1: 1<br />
    Code répété dans la boucle 2: 1<br />
    Code répété dans la boucle 2: 2<br />
    Code répété dans la boucle 2: 3<br />
Code répété dans la boucle 1: 2<br />
    Code répété dans la boucle 2: 1<br />
    Code répété dans la boucle 2: 2<br />
    Code répété dans la boucle 2: 3<br />
Code répété dans la boucle 1: 3<br />
    Code répété dans la boucle 2: 1<br />
    Code répété dans la boucle 2: 2<br />
    Code répété dans la boucle 2: 3




Voir aussi



Set_filenames(), Module_data_path(), Assign_vars(), Pparse()
Cette page a été vue 2055 fois