Dotclear

Ticket #574 (closed enhancement: fixed)

Opened 17 years ago

Last modified 15 years ago

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

tpldiff.txt Download (1002 bytes) - added by bruno 17 years ago.
tpldiff.2.txt Download (1.5 KB) - added by bruno 17 years ago.
Nouvelle version, un peu plus fonctionnelle …

Change History

Changed 17 years ago by bruno

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

Nouvelle version, un peu plus fonctionnelle ...

comment:3 Changed 15 years ago by bruno

(In [3028]) [EXPERIMENTAL] Implemented new template compiler

  • Supports nested tags
  • faster processing
  • less memory footprint

Addresses #574

comment:4 Changed 15 years ago by bruno

(In [3029]) Added handlers for unknown values/blocks, addresses #574

comment:5 Changed 15 years ago by bruno

(In [3030]) Btw, also support empty tpl blocks... addresses #574

comment:6 Changed 15 years ago by xave

  • Status changed from assigned to closed
  • Resolution set to fixed

(In [3031]) [EXPERIMENTAL] Implemented new template compiler

  • Supports nested tags
  • faster processing
  • less memory footprint

Closes #574

Kudos to DSLS!

Note: See TracTickets for help on using tickets.

Sites map