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&eacute;vrier pour une version plus avanc&eacute;e.<P>
   La partie ManyPage est d&eacute;j&agrave; 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&eacute;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&eacute;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>`>

Copyright 1994-2009
Pascal Vuylsteker

Page modifiée le:
22/2/2001

Contact:
<pvk@vuylsteker.net>