Dans un de mes développement je suis amené à fusionner des blocs dynamiquement (pour simplifier, disons que je récupère le nom des locs à fusionner depuis une BDD).
Le code PHP ressemble à cela
foreach ($blocks as $block_name => $block_param)
{
$block_val = is_array($block_param) ? $block_param : array();
$TBS->MergeBlock($block_name,$block_val);
}
|
Du côté de mon code html voilà ce que cela donne (j'utilise { et } pour mes blocs TBS)
<select onChange="ChangeUrl('redirect_station')" name="redirect_station" size="1">
<option value="{list_station.lien}">{list_station.nom;block=option/;bmagnet=select}
</select>
<!-- autres affichages de blocs non problématique -->
<ul>
<li><a href="{list_station.lien}">{list_station.nom;block=li;bmagnet=ul}</a></li>
</ul>
|
Comme vous le voyez j'ai deux blocs TBS avec le même nom et la fusion se passe très mal.
Il faudrait que dans mon template le deuxième bloc s'appelle par exemple list_station2.
Seulement je n'ai aucun moyen de savoir dans mon code PHP que ce bloc a été défini puisque mon tableau $blocks ne contient que la valeur "list_station" et pas "list_station2".
Est-ce que vous voyez un moyen de résoudre ce problème ?
D'avance merci pour votre aide.