
Home
» Talus' Works » Talus' TPL » Rapports de Bugs » Problèmes lors de la gestion des fonctions » Lecture du Sujet » Page 1 | Forum Fermé - Sujet Fermé |
|
|
|
|
Bonsoir, Jusqu'à présent je n'ai rencontré seulement 2 problèmes. Le premier étant la portée de la variable $tpl lors de l'utilisation de fonctions récursives ou de fonctions appelées à partir de d'autres fonctions.
Code
<function name="algo_categories_liste" arg="ENUMERATION_CATEGORIES" arg="DEP">
<foreach ary="{$ENUMERATION_CATEGORIES}" as="{$ARRAY}">
<if cond="{VALUE,$ARRAY[1]} == {$DEP}">
<ul><li><a href="?p=catalogue&id={VALUE,ARRAY[2]}">{VALUE,ARRAY[0]}</a></li>
<call name="algo_categories_liste" arg="{$ENUMERATION_CATEGORIES}" arg="{KEY,$ARRAY}" />
</ul>
</if>
</foreach>
</function>
<h1>Catalogue</h1>
<call name="algo_categories_liste" arg="{$ENUMERATION_CATEGORIES}" arg="3" />
et voici l'erreur retournée
Citation :
Le seul moyen pour éviter cette erreur jusqu'à présent a été de remplacer la ligne 175 de talus_tpl_compiler.php
Code
par $php = rtrim($php, ', ') . '){ ?> ';
Code
$php = rtrim($php, ', ') . '){ global $tpl; ?> ';
pour le deuxième problème on peut aussi le remarquer sur ce même code : Merci d'avance, |
|
|
|
|
|
Salut, En fait, comme tu peux le voir, le premier argument de chanque fonction (en interne) est en fait l'instance tpl ($tpl). Tu peux me montrer le cache du tpl (ou plutot le morceau de déclaration de fonctions) ? Merci. Dev' de Talus' Works |
|
|
|
|
Code
<?php function __tpl_algo_categories_liste(Talus_TPL $fct, $ENUMERATION_CATEGORIES, $DEP){ global $tpl; ?>
<?php foreach ($ENUMERATION_CATEGORIES as $__tpl_foreach_key['ARRAY'] => $__tpl_foreach_value['ARRAY']) : ?>
<?php if ($__tpl_foreach_value['ARRAY'][1] == $DEP): ?>
<ul><li><a href="?p=catalogue&id=<?php echo $__tpl_foreach_value['ARRAY'][2]; ?>"><?php echo $__tpl_foreach_value['ARRAY'][0]; ?></a></li>
<?php __tpl_algo_categories_liste($tpl, $ENUMERATION_CATEGORIES, $__tpl_foreach_key['ARRAY']); ?>
</ul>
<?php endif; ?>
<?php endforeach; ?>
<?php } ?>
<h1>Catalogue</h1>
<?php __tpl_algo_categories_liste($tpl, $tpl->vars['ENUMERATION_CATEGORIES'], '-1'); ?>
Voilà Merci d'avance PS : '-1' a remplacer par '0' pour mon problème |
|
|
|
|
|
Ah oui je vois pourquoi ce n'est pas bon :/. Ok, je tacherais de corriger ce bug pour la prochaine version. En attendant, fais cette manip dans Talus_TPL_Compiler : Chercher
Code PHP
<?php
Remplacer, Par
Code PHP
<?php
Ca devrait régler le soucis :). Dev' de Talus' Works |
|
|
|
|
nickel, merci |
|
| Forum Fermé - Sujet Fermé |