PHPUTIL
News | Présentation | Développeurs | Les modules | Téléchargements   

> 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


 
Design 'plastix' by Ryan Collier <collier@xmission.com> (GNU/GPL)

SourceForge Logo