> Généralités
PHPUTIL/News fonctionne principalement via l'utilisation
de plugins. Parmi eux, il y a un plugin de sortie standard appelé IT.
Ce dernier permet de complètement personnaliser l'apparence des news générées par
PHPUTIL/News au travers l'utilisation de modèles de présentation
(templates). L'objet de cette documentation est donc de vous apprendre comment modifier
ou créer ces modèles de présentation pour adapter les sorties de
PHPUTIL/News à vos besoins.
Rappelons que PHPUTIL/News est un logiciel libre développé par
des bénévoles. Vous êtes donc invités à contribuer au dévelopement du logiciel. Une des
possibilités est de nous envoyer vos modèles d'affichage s'ils ne sont pas trop spécifiques.
Cependant, nous n'accepterons que les modèles fournis sans aucune restriction de licence et
dont le code HTML est irréprochable (correctement indenté, fonctionnant sur tous les
navigateurs...). Envoyez les modèles à phputil-develop@lists.sourceforge.net.
> Les fichiers et répertoires
Dans l'arborescence de PHPUTIL/News, il y a un répertoire
output. Ce dernier contient l'ensemble des plugins de sortie ainsi
que leurs fichiers associés. Les modèles (templates) sont donc situés dans ce répertoire.
A l'intérieur du répertoire output, vous trouverez alors un répertoire
nommé templates qui lui contiendra uniquement les modèles d'affichage.
Dans ce répertoire templates, vous pouvez voir d'autres répertoires
dont les noms sont les noms des templates actuellemet utilisable avec
PHPUTIL/News. Vous remarquerez que la plupart se termine par
-fr ou -en. C'est en rapport avec la langue
utilisée dans le modèle (fr = français, en = english...). Si votre modèle est indépendant
de la langue (aucun mot particulier utilisé), alors ne rajoutez pas ce suffixe.
Intéressons nous à la structure d'un modèle maintenant et explorons le contenu du répertoire
esub2-fr par exemple. Il contient :
- un fichier blind_gif.gif ;
- un fichier news.tpl.
Le modèle de news (à proprement parler) est contenu dans le fichier
news.tpl. Mais ce modèle utilise (dans le code HTML) une image nommée
blind_gif.gif. Il est impératif que toutes les images (ou autres)
nécessaires à l'affichage du modèle soient placées dans le même répertoire que le fichier
news.tpl.
Supposons que l'on veuille créer un modèle appelé test-fr (en français).
Il faut donc créer dans le répertoire output/templates un répertoire
nommé test-fr. Ce dernier devra contenir un fichier nommé
news.tpl qui décrira le modèle ainsi que toutes les images (ou autres)
dont le modèle aura besoin.
> Contenu d'un fichier news.tpl
Le fichier news.tpl contient le code HTML nécessaire à l'affichage
d'une news. Cependant, dans la mesure où ce n'est qu'un modèle, on ne connait pas ni le
titre, ni le message de la news. On utilise alors des mots-clefs spéciaux qui seront
remplacés par les valeurs correspondants lors de l'affichage de la news.
Voyons un exemple (cas du modèle default-en) :
<!-- BEGIN news -->
<!-- powered by PHPUTIL / News -->
<!-- (design 'default-en' by The Fab <webmaster at esub2.com>) -->
<center>
<table border="1" width="80%">
<tr>
<td width="100%" align="center">
{title}
</td>
</tr>
<tr>
<td width="100%" align="center">
{text}
</td>
</tr>
<tr>
<td width="100%" align="right">
Posted by <a href="mailto:{email}">{author}</a> ({date}, {time})
</td>
</tr>
</table>
</center>
<!-- END news -->
On a donc du HTML classique auquel on a ajouté les mots-clefs {title},
{text}, {email}...
Une remarque particulièrement importante : tout le code HTML devra être placé entre
les deux lignes :
<!-- BEGIN news -->
(...)
<!-- END news -->
> Les différents mots-clefs
Nous avons vu que le code contenu dans le fichier news.tpl est du
simple HTML enrichi de quelques mots-clefs qui seront dynamiquement remplacés par leur
valeur à l'affichage. Les mots-clefs utilisables sont les suivants :
-
{title}, sera remplacé par le titre de la news ;
-
{text}, sera remplacé par le texte de la news ;
-
{author}, sera remplacé par le pseudo de l'auteur de la
news ;
-
{email}, sera remplacé par l'email de l'auteur de la
news ;
-
{date}, sera remplacé par la date de la news (le format
est réglable) ;
-
{time}, sera remplacé par l'heure de la news (le format est
réglable) ;
-
{adress}, sera remplacé par l'adresse complète du
répertoire contenant le modèle.
Les significations de ces mots-clefs sont assez immédiates, exception faite du dernier
{adress} qui mérite un exemple. Supposons que votre news comporte une
image (logo ou autre), vous utilisez donc dans le fichier news.tpl un
tag HTML <img ...>. Seulement, vous devez spécifier l'URL de
l'image à afficher. Et vous ne la connaissez pas en principe. Certes, vous pouvez mettre
l'adresse en dur. Mais si votre modèle est réutilisé sur un autre site, l'adresse ne sera
plus la même et votre modèle ne fonctionnera pas correctement. Heureusement, le mot-clef
{adress} est là pour nous aider.
Supposons que vous ayez besoin d'une image nommée logo.gif située
impérativement dans le répertoire contenant votre modèle. Pour y faire référence,
votre code HTML devra (par exemple) ressembler à :
<!-- BEGIN news -->
(...)
<img src="{adress}/logo.gif">
(...)
<!-- END news -->
Le mot-clef {adress} sera remplacé à l'affichage par l'adresse du
répertoire contenant votre modèle et votre image sera donc correctement désignée.
> Conclusion
Vous savez donc désormais modifier ou créer des modèles d'affichage. Si vous relevez des
erreurs ou des points flous dans cette documentation, vous être invités à nous en faire part
en envoyant un mail à phputil-develop@lists.sourceforge.net
|