Ticket #574 (closed enhancement: fixed)
Permettre l'imbrication des blocs de template de même nom
Reported by: | bruno | Owned by: | olivier |
---|---|---|---|
Priority: | normal | Milestone: | 2.2 |
Component: | module:core | Version: | 2.1 |
Severity: | normal | Keywords: | |
Cc: |
Description
Le moteur de templates de clearbricks ne supporte pas d'imbriquer plusieurs templates de type "block" qui ont le même nom (ex : <tpl:EntryIf>...<tpl:EntryIf> ...</tpl:EntryIf> ... </tpl:EntryIf> ne traduira pas le tpl:EntryIf imbriqué).
Après avoir tourné un peu en rond, j'ai peut-être trouvé un patch léger (3 lignes de code modifiées) pour les supporter.
Dans l'idée, il s'agit de matcher d'abord le plus petit bloc trouvé (ici, le bloc du milieu), et de répéter le preg_replace tant qu'il y a des remplacements effectués.
cf fichier joint.
Attachments
Change History
comment:1 Changed 17 years ago by olivier
- Status changed from new to assigned
Ok, si testé *à fond* dans les situations les plus improbables possibles :)
comment:2 Changed 17 years ago by bruno
Bon. Je ne désespère pas d'avoir une solution qui fonctionne, celle en attachment ne fonctionne pas vraiment.
Je suis tombé sur ce lien qui offrirait une piste : http://www.verbose.fr/php5/function.preg-replace-callback.html (voir l'exemple #3 en bas) ...
Changed 17 years ago by bruno
-
attachment
tpldiff.2.txt
added
Nouvelle version, un peu plus fonctionnelle ...