Modifier et définir
ses templates
Le dossier
"templates"
Les templates sont des fichiers (extension .tpl) dans lesquels peut
être définie toute la présentation des
résultats affichés. L'immense avantage des templates est
de permettre de complètement séparer le traitement des
données et leur présentation. C'est cette technique qui
permet la personnalisation de Thamous puisque les scriptes de gestion
de la présentation peuvent être ainsi isolés de
ceux envoyant les requêtes à la base et en recevant les
résultats, scriptes qui doivent rester inaccessibles pour
garantir aux données personnelles leur caractère
privé et protéger les données publiques de la
base. Cette technique permet aussi une programmation plus
structurée et donc bien plus facile à maintenir et
à faire évoluer puisque le code traitant les
données n'est plus mélangé à celui qui en
définit la présentation. Il reste toutefois à
assurer la bonne communication des deux... Cela permet aussi
à une personne connaissant les formats de présentation
(essentiellement de l'html) de faire les modifications qu'il peut faire
à ce niveau sans plus avoir à connaître les autres
langages (php, mysql) avec lesquels la présentation était
mêlée. Le mélange de ces différents aspects
est un des grands intérêts des langages informatiques et
de php en particulier (d'ailleurs, les classes utilisées pour
gérer les templates sont écrites en php...), mais c'est
aussi ce qui en rend le code difficile à lire. Bien sûr,
comme la communication entre les deux aspects doit être
assurée... on ne peut pas toujours se contenter de savoir lire
les templates. Néanmoins, pour un grand nombre de
modifications cela est possible.
Ainsi, toutes les modifications possibles touchant l'apparence de
Thamous peuvent être faites sur les
templates
mais il est préférable de faire autrement celles qui
peuvent l'être :
il est mieux de modifier la configuration à partir des
constantes de
configuration, de changer les styles à partir des feuilles
de styles, de changer les formats d'exportation à partir des
fichiers d'exportations etc.
que de le faire directement sur les templates.
Un peu de bon sens permet de faire un certain nombre de modifications.
Mais pour une modification complète de l'apparence et des
fonctions de Thamous une connaissance des
langages html, php, javascript et de Smarty
est requise.
Supprimer l'affichage de votre nom du
menu général
Pour supprimer l'affichage votre nom du menu général vous
devez
sélectionner
le
dossier
"templates" dans la
fenêtre d'administration de Thamous. Le champ de gauche
situé
en-dessous contient
alors la liste des templates d'origine.
La modification que nous voulons faire concerne le menu
général. On sélectionne pour cela le fichier
"menu.tpl". En
parcourant celui-ci on comprend qu'il nous renvoie à deux autres
templates : "menu-admin.tpl" et "menu_recherche.tpl". Comme votre nom
apparaît dans la partie basse de la
fenêtre du menu, c'est qu'il est certainement dans le
premier template (les contenus des templates s'affichent dans
l'ordre dans lequel ils sont appelés). On ouvre donc le fichier
"menu_admin.tpl".
Le début de fichier est :
{* Appelé par menu.tpl *}
{*Menu Historique, Développements, Contact, Projets, Admin,
Nouveau, Avancée *}
{* Appelé par menu.php *}
{* Menu général.*}
{config_load file='aide.conf'}
<center>
<table class='menu_general'>
<tr>
<td
class="nom">{$nom}</td>
<td
class="titre_menu_general">
<a href='../docs/historique.html'
target='Historique'
onmouseover="return overlib('{#historique#}');"
onmouseout="return nd();">
(...)
Il suffit donc de supprimer la ligne :
<td class="nom">{$nom}</td>
et d'enregistrer votre modification en cliquant sur
le bouton "Enregistrer Modifs." sans changer le nom du fichier.
Le fichier "menu_admin.tpl" apparaît maintenant dans le champ
de
droite de vos fichiers personnalisés.
Si vous réactualisez la fenêtre du menu (il suffit de
changer de projet ou de table de recherche), votre nom aura disparu!
Si vous voulez revenir à la configuration par
défaut, il vous suffit de
sélectionner votre fichier menu_admin.tpl", ce qui en
affichera le
contenu,
et ensuite de cliquer sur le bouton "Supprimer fichier".
Supprimer le bouton de bulles d'aide du
menu général
Pour supprimer le bouton de bulles d'aide vous devez
sélectionner
le
dossier
"templates" dans la
fenêtre d'administration de Thamous. Le champ de gauche
situé
en-dessous contient
alors la liste des templates d'origine.
La modification que nous voulons faire concerne le menu
général. On sélectionne pour cela le fichier
"menu.tpl". En
parcourant celui-ci on comprend qu'il nous renvoie à deux autres
templates : "menu-admin.tpl" et "menu_recherche.tpl". Comme le bouton
des bulles d'aides apparaît dans la partie basse de la
fenêtre du menu, c'est qu'il est certainement dans le
deuxième template (les contenus des templates s'affichent dans
l'ordre dans lequel ils sont appelés). On ouvre donc le fichier
"menu_recherche.tpl".
Le fichier comprend un tableau dont le contenu de la première
cellule est {include file="btn_bulles_aide.tpl"} ; c'est l'instruction
pour inclure un template et il s'agit visiblement du bouton des
bulles d'aide. Il suffit donc de supprimer cette cellule en coupant :
<td>{include file="btn_bulles_aide.tpl"}</td>
Le début du fichier est dès lors :
{* Appelé par menu.tpl *}
{* Menu pour une recherche simple. *}
<center>
<table>
<tr>
<form
name="form_projets" action="/php/menu.php" method="post">
<td>
<input name="table" type="hidden"
value="{$table}">
(...)
Il suffit maintenant d'enregistrer notre modification en cliquant sur
le bouton "Enregistrer Modifs." sans changer le nom du fichier.
Le fichier "menu_recherche.tpl" apparaît maintenant dans le champ
de
droite de vos fichiers personnalisés.
Si vous réactualisez la fenêtre du menu (il suffit de
changer de projet ou de table de recherche), vous constaterez que le
bouton des bulles d'aides a disparu!
Si vous voulez revenir à la configuration par
défaut, il vous suffit de
sélectionner votre fichier menu_recherche.tpl", ce qui en
affichera le
contenu,
et ensuite de cliquer sur le bouton "Supprimer fichier".
Modifier l'ordre et la
présentation des données publiques
Pour modifier l'ordre et la
présentation des données publiques vous devez
sélectionner
le
dossier
"templates" dans la
fenêtre d'administration de Thamous. Le champ de gauche
situé
en-dessous contient
alors la liste des templates d'origine.
La présentation des données publiques se fait dans les
fichiers :
- form_tbiblio_public_Article.tpl
- form_tbiblio_public_CD-ROM.tpl
- ...,
- form_tinstitutions_public.tpl
- form_tliens_public.tpl
- form_trevues_public.tpl
- form_tpersonnes_public.tpl.
Soit un template par type de
référence et pour biblio un template pour chaque type de
référence bibliographique. Cela permet de
modifier indépendamment la présentation de chaque type de
référence.
Modifions par exemple la présentation d'une
référence bibliographique de type "Article". On
sélectionne pour cela le template
"form_tbiblio_public_Article.tpl".
Sa structure est la même que tous les autres : un tableau avec
pour chaque champ ("nom","titre", etc.) des cellules contenant les
en-têtes (qui appellent un autre template 'header.tpl')
associées à d'autres cellules contenant un champ recevant
les données correspondant à
l'en-tête.
Il suffit de modifier ce tableau pour obtenir la présentation
souhaitée des articles et ensuite d'enregistrer ces
modifications en cliquant sur
le bouton "Enregistrer Modifs." sans changer le nom du fichier.
Le fichier "form_tbiblio_public_Article.tpl" apparaîtra dans le
champ de
droite de vos fichiers personnalisés. Si vous affichez un
article il apparaîtra conformément à la
présentation que vous aurez enregistrée.
Si vous voulez revenir à la présentation par
défaut, il vous suffit de
sélectionner votre fichier "form_tbiblio_public_Article.tpl", ce
qui en affichera le
contenu,
et ensuite de cliquer sur le bouton "Supprimer fichier".
Changer le nombre de lignes visibles
du champ des mots-clefs
(resp. remarques) d'une référence
Le template définissant la présentation du champ des
mots-clefs (resp. remarques) d'un projet est "textarea_mots_clefs.tpl"
(resp. "textarea_remarques.tpl") contenu dans le dossier "templates"
accessible à partir de
la
fenêtre d'administration de Thamous.
Pour changer le nombre de lignes et de colonnes il suffit de modifier
les valeurs de la ligne :
<textarea name="mots_clefs" rows="7" cols="25"
Vous enregistrez vos modifications en cliquant sur
le bouton "Enregistrer Modifs." sans changer le nom du fichier.
Le fichier "textarea_mots_clefs.tpl" apparaîtra dans le champ
de
droite contenant vos fichiers personnalisés. Si vous affichez
une référence le champ de mots-clefs (resp. remarques)
apparaîtra avec le nombre de lignes et de colonnes
spécifié. Il conviendra alors peut-être d'adapter
la taille de la
fenêtre contenant les références (cela se fait
comme pour changer
la position et la taille des fenêtres de listes).
Si vous voulez revenir à la présentation par
défaut, il vous suffit de
sélectionner votre fichier "textarea_mots_clefs.tpl" (resp.
"textarea_remarques.tpl"), ce qui en affichera le
contenu,
et ensuite de cliquer sur le bouton "Supprimer fichier".
Supprimer les remarques
publiques apparaissant sous les champs de mots-clefs et de remarques
d'une référence
Vous pouvez ne pas être intéressé par les remarques
publiques des autres ou au moins ne pas vouloir qu'elles s'affichent
systématiquement ne serait-ce que parce que cela prend un peu de
temps (en l'occurrence très peu...) ou de place à
l'écran.
Voyons comment les supprimer, on verra plus loin comment créer un bouton pour les
afficher dans une fenêtre séparée.
Le fichier définissant la présentation de la partie basse
d'une référence qui contient les données non
publiques, c'est-à-dire celles propres à un projet est
"form_projet.tpl" contenu dans le dossier "templates" accessible
à partir de
la
fenêtre d'administration de Thamous.
En éditant ce fichier (il suffit de cliquer sur son nom) et en
en parcourant le contenu on trouve à l'avant dernière
ligne :
{include file="remarques_publiques.tpl"}
Cela ressemble à ce que l'on cherche... il suffit donc de
supprimer cette ligne.
Vous enregistrez votre modification, sans changer le nom du fichier, en
cliquant sur
le bouton "Enregistrer Modifs.". Afficher une référence
pour laquelle vous savez qu'il y a des remarques publiques, vous
constaterez que celles-ci n'apparaissent plus.
Si vous voulez revenir à la présentation par
défaut, il vous suffit de
sélectionner votre fichier "form_projet.tpl", ce qui en
affichera le
contenu,
et ensuite de cliquer sur le bouton "Supprimer fichier".
Modifier l'affichage
des remarques
publiques ou personnelles sur la
référence (remarques en lien) apparaissant sous les
champs de mots-clefs et de remarques d'une référence
Sous les remarques publiques qui apparaissent sous les champs des
mots-clefs et de remarques d'une référence apparaît
aussi, quand il y en a...., les remarques sur cette
référence entrées dans des liens pour lesquels
cette référence est en but. Cela comprend aussi bien vos
remarques privées que les remarques publiques des autres
utilisateurs. Vous pouvez vouloir supprimer les unes ou les autres ne
serait-ce que parce qu'elles occupent de la place à
l'écran et que leur affichage prend du temps (cette fois un
temps moins négligeable que l'affichage des remarques
publiques). Vous pourriez aussi vouloir que ces remarques
n'apparaissent pas systématiquement mais seulement quand vous le
voulez. Vous pourriez aussi préférer avoir par
défaut les remarques de
cette référence (plutôt que sur celle-ci). Vous pourriez
même vouloir avoir les unes quand vous êtes dans
l'environnement de l'un de vos projets et en avoir d'autres quand vous
êtes dans l'environnement d'un autre projet.
Vous pouvez utiliser la référence bibliographique dont
l'id est 719 pour faire des essais car elle contient à la fois
des remarques publiques de lien en source et en but.
Comme pour la suppression
des remarques
publiques on édite le template "form_projet.tpl" (le
vôtre si celui de Thamous a été modifié). A
la fin de celui-ci on trouve :
{include file="remarques_liens_projet.tpl"}
Si l'on supprime cette ligne on supprime à la fois vos remarques
sur la référence et celles des autres utilisateurs. Vous
pouvez le faire pour le vérifier et ensuite reprendre le fichier
modifié en ajoutant la ligne supprimée. Au lieu de cela,
nous allons éditer le fichier "remarques_liens_projet.tpl" qui
se trouve aussi dans le dossier des templates.
La première partie du template construit le menu popup qui
permet de choisir d'afficher soit les remarques en lien du projet actif
dont la référence actuelle est en source soit celles
où elle est en but, celles-ci s'affichant par défaut.
La deuxième partie est un test {if} (...) {else} (...) {/if} qui
renvoie à un
template ou un autre suivant la valeur d'une variable $origine dont les
valeurs sont "but" ou "source".
- Si vous voulez par exemple que ce soit les remarques de cette référence
(plutôt que sur
celle-ci) qui apparaissent automatiquement il vous suffit de remplacer
dans la première partie <select name= (...)
</select> par :
<select name="origine" size="1" length="50"
onchange="document.form_remarques_liens.submit();"
onmouseover="window.status='Edition des remarques sur les liens de/sur
cette références de l\'environnement
{$projet|capitalize}.'; return true;">
{if $origine=='' OR $origine=='source'}
<option value="source" selected>Remarques de
liens de
<option value="sbut">Remarques de liens sur
{else}
<option value="source">Remarques de liens de
<option value="but" selected>Remarques de
liens sur
{/if}
</select>
et remplacer la deuxième partie par :
{if $origine=='' OR $origine=='source'}
{include
file="remarques_liens_projet_de.tpl" projet=$projet}
{include
file="remarques_liens_publiques_de.tpl"}
{else}
{include
file="remarques_liens_projet_sur.tpl" projet=$projet}
{include
file="remarques_liens_publiques_sur.tpl"}
{/if}
- Si vous voulez que seules vos remarques personnelles
apparaissent, il vous suffit de remplacer la deuxième partie par
(on a supprimé de celle-ci les appels aux templates relatifs aux
remarques publiques) :
{if $origine=='' OR $origine=='but'}
{include
file="remarques_liens_projet_sur.tpl" projet=$projet}
{else}
{include
file="remarques_liens_projet_de.tpl" projet=$projet}
{/if}
Attention : les changements se rapportent au fichier d'origine, pas
à celui que vous avez modifié si vous avez fait les
modifications précédentes!
- Si vous voulez que les remarques personnelles et publiques
apparaissent mais seulement quand vous le demandez, il vous
suffit de remplacer dans la première partie <select
name= (...) </select> par :
<select name="origine" size="1" length="50"
onchange="document.form_remarques_liens.submit();"
onmouseover="window.status='Edition des remarques sur les liens de/sur
cette références de l\'environnement
{$projet|capitalize}.'; return true;">
<option value=''
selected>Remarques de liens sur/de
<option value="but">Remarques de liens sur
<option value="source">Remarques de liens de
</select>
et de remplacer la deuxième partie par :
{if $origine=='but'}
{include
file="remarques_liens_projet_sur.tpl" projet=$projet}
{include
file="remarques_liens_publiques_sur.tpl"}
{/if}
{if $origine=='source'}
{include
file="remarques_liens_projet_de.tpl" projet=$projet}
{include
file="remarques_liens_publiques_de.tpl"}
{/if}
On verra plus loin comment créer
un bouton pour les afficher ces remarques dans une fenêtre
séparée.
Fermer automatiquement la
fenêtre de navigation
Quand vous naviguez avec les liens, la référence dont les
liens sont édités apparaît en haut au centre. En
cliquant sur celle-ci, vous ouvrez la fenêtre de cette
référence et la fenêtre de navigation reste
ouverte. Vous pourriez préférer que cette fenêtre
se ferme automatiquement.
Pour cela, il vous suffit de modifier le template
"navigation_liens.tpl".
Vous trouverez dans celui-ci le code suivant (javascripts) :
<a
onclick="
var file='form_ref.php?{$param}';
var features='width={#RefWidth#},
height={#RefHeight#}, screenX={#RefX#}, screenY={#RefY#}, resizable,
scrollbars';
window.open(file,'{$nom_fenetre}',features);"
onmouseover="window.status='Affiche la
référence.'; return true;">
{$titre}
</a>
Il suffit d'y insérer l'instruction window.close() et
ainsi de le remplacer par le code suivant :
<a
onclick="
var file='form_ref.php?{$param}';
var features='width={#RefWidth#},
height={#RefHeight#},
screenX={#RefX#}, screenY={#RefY#}, resizable, scrollbars';
window.close();
window.open(file,'{$nom_fenetre}',features);"
onmouseover="window.status='Affiche la
référence.'; return true;">
{$titre}
</a>
Après avoir enregistré vos modifications sans changer le
nom du template, la fenêtre de navigation se fermera quand vous
afficherez la référence dont les liens sont
édités.