Pour ceux qui ne connaissent pas,
Anthéa est mon site perso (le nom vient d'un personnage d'un livre que j'ai commencé à écrire il y a quelques années), qui a la particularité d'être très large: 5800 pixels pour être exact
J'ai fait une assez grande mise à jour, en rajoutant près de 10 projets anciens et récents à la section références, et j'ai rajouté la section des liens. J'ai aussi retravaillé la liste des références et la mise en page du détail d'une référence. Pour ça, le XSLT est quand-même vachement pratique - rapide, flexible... très sympa. Anthéa fonctionne avec patPortal*, et pour utiliser du XSL, c'est super facile. Dans le fichier XML définissant les contenus d'une page, il suffit de rajouter la composante XSL et de la configurer:
<page:area id="content">
<component:components>
<component:component name="XSL">
<component:params>
<component:param name="xmlfile">
data/projects.xml
</component:param>
<component:param name="xslfile">
templates/XSL/projectList.xsl
</component:param>
</component:params>
</component:component>
</component:components>
</page:area>
Le contenu que va générer la composante XSL sera donc inséré dans la partie 'content' de la page. Pour placer le contenu d'une partie de page, il suffit de placer la variable correspondante dans le template du framework du site (patTemplate). Dans Anthéa, ça donne ceci:
<!--
extrait du template framework.tmpl,
contenant la structure HTML du site
-->
<div id="contentFrame">
<table cellpadding="0" cellspacing="0" border="0">
<tr valign="top">
<td width="513">
<div style="width:513px;">
<div id="content">
{AREA_CONTENT}
</div>
</div>
</td>
<td>
<div id="nav">
<div style="padding:15px;">
{AREA_NAVIGATION}
</div>
</div>
</td>
</tr>
</table>
</div>
Le contenu est inséré à la place de la variable {AREA_CONTENT}. On peut définir autant de composantes qu'on veut dans une même partie de page, leurs contenus sont ajoutées entre elles dasn l'ordre ou elles sont définies dans le XML. On peut donc se construire les pages de toutes pièces
*: patPortal est un nouveau projet de
php-tools, mais qui n'a pas encore été publié. C'est un framework MVC développé par
Stéphane, et qui a la grande particularité d'abstraire a peu près tout ce qui peut l'être... il est possible de télécharger la version CVS actuelle sous
snaps.php-tools.net.