Exemples
Après avoir détarré le package ManyPage, vous pourrez
trouver une première série d'exemple simples dans le répertoire
Src du Package.
Vous pourrez trouver une source d'inspiration plus appronfondie en consultant
une partie de l'arborescence Source à l'origine de
ce propre site. Certains fichiers ne seront sans doute plus tout à
fait à jour (il s'agit d'une copie réalisée en cours de
construction du site) et certains fichiers index auront été suprimés
afin de faciliter la navigation dans l'arborescence des répertoires,
mais de toute façon, les fichiers les plus intéressant à
consulter seront les fichiers .obj, .dress et .link. Vous devriez particulièrement
consulter les fichiers t .dress, .obj
et .link de la racine du site, et .obj
et .link du répertoire ManyPage.
Il pourraient aussi être intéressant de comparer cett page produite avec sa source.
Dans la partie suivante, nous présentons quelques objets issus de ces fichiers.
Un objet simple : MP.WARNING
Dans l'exemple suivant, les objects français et anglais présente la même structure. Seul le texte inclus diffère. C'est pourquoi celui ci a été isolé dans des "sous-objets" afin d'une part de permettre des modification plus faciles et d'autre part de ne définir qu'une seule fois le HTML commun. Comme il est expliqué dans la partie traitant du multilinguisme de ManyPage, seul le sous objet avec le suffixe de langue correcte (celui de la page en cours de production) sera maintenu au sein de l'objet final.
<MP.BUILDING.FR> Ce site est vraiment en pleine construction. Repassez d'ici la fin Février pour une version plus avancée.<P> La partie ManyPage est déjà exploiatble. </MP.BUILDING.FR> <MP.BUILDING.EN> This web site is being build. Come later (for instance the end of February) to see it there is a real improvement.<P> The ManyPage part is already almost finished. </MP.BUILDING.EN> <MP.BUILDING> <CENTER> <table width="80%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000"> <tr> <td> <table width="100%" border="0" height="100%" bgcolor="#FFFFFF" cellpadding="5"> <tr> <td height="17" width="27%"> <h3>Attention </h3> </td> <td ><MP.BUILDING.FR> <MP.BUILDING.EN> </td> </tr> </table> </td> </tr> </table> </CENTER> </MP.BUILDING>
La sélection d'un élément de menu
Ce qui suit est un extrait de la définition d'un menu. Au niveau de la racine, aucun boutton n'est en position "séléctioné" et <MP.MENU1.D.SELECTED> reçoit la valeur <MP.MENU1.COLOR.NOT.SELECTED>, c'est à dire la couleur de fond du menu.
Dans certainnes sous parties du site (dans le sous répertoire ManyPage par exemple), il y a des fichiers .obj qui ne contiennent que la définition suivante...
<MP.MENU1.D.SELECTED> <MP.MENU1.COLOR.SELECTED> </MP.MENU1.D.SELECTED>
... qui a pour effet d'obscurcir le bouton correspondant, lui attribuant ainsi le statut de "sélectionné".
<MP.MENU1.COLOR.NOT.SELECTED> #66FFFF </MP.MENU1.COLOR.NOT.SELECTED> <MP.MENU1.COLOR.SELECTED> #009999 </MP.MENU1.COLOR.SELECTED> <MP.MENU1.D.SELECTED> <MP.MENU1.COLOR.NOT.SELECTED> </MP.MENU1.D.SELECTED> <MP.MENU1.D> <MP.MENU1.SEP.LEFT> <a href="http://www.mediaport.net/VR" onMouseOver="window.status='<MP.MENU1.D.ONMOUSETEXT>'; return true"><MP.MENU1.LEFT.FONT><MP.MENU1.D.TEXT><MP.MENU1.RIGHT.FONT></A> <MP.MENU1.SEP.RIGHT> </MP.MENU1.D> <MP.MENU1> <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="<MP.MENU1.COLOR.NOT.SELECTED>"> <th bgcolor="<MP.MENU1.A.SELECTED>"><MP.MENU1.A></th> <th bgcolor="<MP.MENU1.B.SELECTED>"><MP.MENU1.B></th> <th bgcolor="<MP.MENU1.C.SELECTED>"><MP.MENU1.C></th> <th bgcolor="<MP.MENU1.D.SELECTED>"><MP.MENU1.D></th> </table> </MP.MENU1>
Exemple d'un bouton de navigation : le bouton BACK
Valeur du tag pour cette page : <MP.MENU.LINK.BACK> :
<MP.MENU.LINK.FRBACKTXT> <PM.IF EXIST=`<PM.KEYWD.TITLEBACK>` THEN=`P. Prec. : <PM.KEYWD.TITLEBACK>` ELSE=`Page Precédente`> </MP.MENU.LINK.FRBACKTXT> <MP.MENU.LINK.ENBACKTXT> <PM.IF EXIST=`<PM.KEYWD.TITLEBACK>` THEN=`Previous page : <PM.KEYWD.TITLEBACK>` ELSE=`Previous page`> </MP.MENU.LINK.ENBACKTXT> <MP.MENU.LINK.FRBACKSHORTTXT> P. Precédente </MP.MENU.LINK.FRBACKSHORTTXT> <MP.MENU.LINK.ENBACKSHORTTXT> Previous </MP.MENU.LINK.ENBACKSHORTTXT> <MP.MENU.LINK.BACK.FR> <MP.MENU3.SEP.LEFT> <A HREF="<PM.KEYWD.BACK>" onMouseOver="window.status='<MP.MENU.LINK.FRBACKTXT>'; return true"><MP.MENU3.LEFT.FONT><MP.MENU.LINK.FRBACKSHORTTXT> <MP.MENU3.RIGHT.FONT></A> <MP.MENU3.SEP.RIGHT> </MP.MENU.LINK.BACK.FR> <MP.MENU.LINK.BACK.EN> <MP.MENU3.SEP.LEFT> <A HREF="<PM.KEYWD.BACK>" onMouseOver="window.status='<MP.MENU.LINK.ENBACKTXT>'; return true"><MP.MENU3.LEFT.FONT><MP.MENU.LINK.ENBACKSHORTTXT> <MP.MENU3.RIGHT.FONT></A> <MP.MENU3.SEP.RIGHT> </MP.MENU.LINK.BACK.EN> <MP.MENU.LINK.BACK> <MP.MENU.LINK.BACK.FR><MP.MENU.LINK.BACK.EN> </MP.MENU.LINK.BACK>
Un petit détail intéressant est le test de l'existence d'un titre pour la page précédente, et l'utilisation éventuelle d'une valeur par défaut.
En fait le point le plus intéressant de cet objet est son utilisation : il est nécessaire de tester l'existence d'une page précédente (ce qui aurra été défini dans un fichier .link) en utilisant le tag <PM.KEYWD.BACK> généré (ou non, si la page n'est pas définie) par ManyPage au moment du traitement de la page
<PM.IF EXIST=`<PM.KEYWD.BACK>` THEN=`<th><MP.MENU.LINK.BACK></th>`>