Dotclear

Ticket #503 (closed enhancement: fixed)

Opened 17 years ago

Last modified 16 years ago

Ajout behavior du type urlHandlerHandleTpl

Reported by: bruno Owned by: bruno
Priority: normal Milestone: 2.2
Component: module:core Version: 2.1
Severity: normal Keywords:
Cc:

Description

Il pourrait être intéressant d'appeler un behavior dans dcUrlHandlers.serveDocument, en début de fonction, afin de permettre à un plugin tiers de modifier à la volée le fichier tpl à servir. L'avantage de le faire au début permet de ne pas casser les éventuels systèmes de cache appelés après.

Coté appel, une référence au tpl, ainsi qu'au contexte devraient suffire :

$core->callBehavior('urlHandlerHandleTpl',&$tpl, &$_ctx);

Exemple d'application : servir un template particulier pour une catégorie/billet/blog donnés

Cela éviterait de dupliquer du code de dcUrlHandler, comme dans l'exemple de pep ( http://callmepep.org/bricoland/post/2008/04/29/Template-personnalise-par-categorie)

Change History

comment:1 follow-up: ↓ 2 Changed 17 years ago by olivier

Je suis pas convaincu d'autant que l'exemple de Pep est caduque depuis la 2.1 (voir mon commentaire).

urlHandlerServerDocument permet déjà de modifier le contenu du document avant son envoie (et avant la mise en cache si la priorité est bonne).

comment:2 in reply to: ↑ 1 Changed 17 years ago by pep

Replying to olivier:

Je suis pas convaincu d'autant que l'exemple de Pep est caduque depuis la 2.1 (voir mon commentaire).

Pas entièrement caduque : il présente toujours quelques avantages en terme d'évaluation dynamique que l'on n'a pas avec l'autre approche.

Comme Bruno, je me demande si un behavior pour déterminer le fichier template ne serait pas une bonne chose.

comment:3 Changed 17 years ago by olivier

  • Status changed from new to assigned

Wé bon. Par contre l'appel n'est pas bon, on ne passe pas par référence comme ça :)

comment:4 Changed 17 years ago by olivier

Qui plus est, il n'est pas nécessaire de passer $tpl si on appelle le behavior après $_ctx->current_tpl = $tpl, on l'aura dans $_ctx.

comment:5 Changed 16 years ago by bruno

  • Owner changed from olivier to bruno
  • Status changed from assigned to new

comment:6 Changed 16 years ago by bruno

  • Status changed from new to assigned

comment:7 Changed 16 years ago by bruno

(In [2968]) Added "urlHandlerBeforeGetData" and "publicBeforeSearchCount" behaviors, see #503, see #555

comment:8 Changed 16 years ago by xave

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

(In [2984]) Merging changes from the Bazar branch. Closes #503, #555, #590, #696, #696, #779, #781, #791, #863, #876, #908, #922, #929, #939, #941, #942. Thanks to DSLS & Tomtom33

Note: See TracTickets for help on using tickets.

Sites map