developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 8 years ago

Closed 8 years ago

#1452 closed new feature (duplicate)

Pouvoir classer ses templates dans des sous-dossiers.

Reported by: flav Owned by:
Priority: normal Milestone:
Component: jelix Version: 1.3.1
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version:

Description

Put templates in sub-folders.

Dans /lib/jelix/core/selector/jSelectorModule.class.php ligne 37, remplacer :

if((preg_match("/^(([a-zA-Z0-9_\.]+)~)?([a-zA-Z0-9_\.]+)$/", $sel, $m))){

Par :

if((preg_match("/^(([a-zA-Z0-9_\.]+)~)?([a-zA-Z0-9_\.\/]+)$/", $sel, $m)) AND (!preg_match("(/\.)",$sel))){

On ajoute une condition pour interdire que le selecteur puisse contenir la chaine '/.', ce qui sinon authoriserait non seulement de pointer vers un fichier de façon relative (ex : '/../../file.tpl'), mais aussi de nommer de plusieurs façons un même sélecteur ('module~dossier1/././dossier2/template' = 'module~dossier1/dossier2/template'). Or remettre en cause l'unicité du nommage des sélecteur reviendrait à trahir le principe des sélecteurs.

Cette solution conserve le principe d'unicité du nommage des sélecteurs tout en permettant d'organiser les templates d'un modules d'une manière apréciable. (Par exemple, on peut regrouper les templates de chaque zones dans un sous dossier. Ou ajouter un dossier inc/ ect.)

J'ai cependant un doute sur l'expression régulière modifiée (c'est pas mon fort...). Je ne sait pas si l'anti-slash avant le point fait encore sens, puisque le point n'est plus en dernière position. Il semblerait que si, l'antislash n'étant toujours pas permis, j'en déduits qu'il doit échapper le point...

Change History (2)

comment:1 Changed 8 years ago by bricet

J'ai eu un peu de mal à retrouver, mais ça rejoint tout à fait (solution proposée comprise) #1319.

De là à savoir quoi en conclure ... ;)

comment:2 Changed 8 years ago by flav

  • Resolution set to duplicate
  • Status changed from new to closed

exact! Merci ;)

Note: See TracTickets for help on using tickets.