Talk:templates

From GeneWeb
Jump to: navigation, search

Order of search for template files

(mon message de septembre 2014)

j'ai constaté un changement de comportement entre 6.08 et la récente 6.08-aplha. Dans 6.08, l'ordre d'exploration des fichiers templates me semble être : bases/etc/template_name bases/etc/base_name gw/etc

avec peut être un autre chemin (gw/etc/base_name)

Dans 6.08-alpha, il me semble que les deux premiers termes sont inversés, masquant le template dès qu'un fichier existe dans base_name.

J'ai inversé deux lignes dans util.ml

  if Sys.file_exists base_tpl_dir then base_tpl_dir 
  else if Sys.file_exists base_name_tpl_dir then base_name_tpl_dir

et je retrouve le comportement auquel j'étais habitué, mais sans savoir si j'ai cassé quelque chose ailleurs!!


Discussion: on est confronté a un problème dans la mesure ou il y a deux critères de choix des fichiers template : la base et le template. Que se passe t'il si on veut les deux (un template spécifique différent pour chaque base). A titre d'exemple, j'ai un template "tex" dans lequel la page preso.txt n'est pas le même pour chaque base. Le problème est en fait déjà posé dans la mesure où on peut considérer qu'il y a un "templ=basename" implicite dans chaque URL d'interrogation de GeneWeb. Le deuxième "templ=template" masque le premier, sans le faire totalement disparaitre.

Solutions possibles :

  • on cherche les fichiers dans l'ordre suivant :
    • bases/etc/basename/template
    • bases/etc/template
    • bases/etc/basename
    • bases/etc
    • gw/etc/template
    • gw/etc/basename
    • gw/etc
  • on refuse le croisement base x template. Pour obtenir ce que je veux, je dois définir deux templates tex-1 et tex-1 que je sélectionne en fonction du besoin.
Dans ce cas, l'ordre de recherche des fichiers pourrait/devrait être :
  • bases/etc/template
  • bases/etc/basename
  • bases/etc
  • gw/etc/template
  • gw/etc/basename
  • gw/etc

A ce jour, j'ai résolu mon problème en adoptant la solution 2, et mes template sont tous dans gw/etc, mais je constate que si je mets mes template dans bases/etc au lieu de gw/etc, cela ne marche plus!!

Un besoin qui est apparu pendant que je cherchait à tester ces comportements est de savoir d'où viennent els fichiers template utilisés. On a en tête du fichier un commentaire HTML qui donne son nom, mais on ne sait pas dans quel répertoire il a été pioché. Ce serait très utile.

Je pense aussi que les fichiers hed.txt et trl.txt (et probablement copyr.txt) ne sont pas traités de la même manière et que leur ordre de recherche est légèrement différent. A suivre Henri83 (talk) 20:35, 24 October 2015 (CEST)