Le système des MAPS

Description du Systeme

Il faut savoir que FSB2 intègre par défaut un systeme de modification du formulaire de création d'un sujet et de message. Ce systeme est appelé 'MAP'. Par défaut, la map 'classic' est intégrée. Lorsque vous créez un forum, vous pouvez définir la map appliquée par défaut ainsi que son champ d'action (juste les sujets ou les messages aussi).

Pour rentrer dans les détails, les maps sont dans le dossier ~/main/lib/maps

dedans vous pouvez voir un ou plusieurs fichiers d'extension xml.


A partir de ce point, je concidère que vous connaissez XML. Si ce n'est pas le cas, je vous conseille d'aller vous renseigner sur ce superbe langage de balises.

De quoi sont composées les fichiers maps ?

Petit exemple :

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<map>
	<head>
		<title>Bug ou Suggestion</title>
	</head>
	<body>
		<line name="type">
			<type>list</type>
			<lang>Type</lang>
			<option>
				<list>
					<elem>Rapport de Bug</elem>
					<elem>Suggestion</elem>
				</list>
			</option>
			<result>[list][*][b]Type :[/b] %s</result>
		</line>
		<line name="description">
			<type>textarea</type>
			<lang>Decris le bug en details</lang>
			<option>
				<rows>5</rows>
				<cols>60</cols>
			</option>
			<result>[*][b]Description :[/b] %s[/list]</result>
		</line>
	</body>
</map>

Le fichier est donc composé d'une racine (<map></map>) et de 2 parties :

L'entete

Pour le moment, il ne contient qu'un type de balise possible : <title></title> Qui contient l'entete du cadre du corps du message (ici “Bug ou Suggestion”)

Le corps

Le corps est uniquement composé de balises <line></line> avec comme paramètre name. La valeur de name correspond au nom du champ. Ce n'est pas tres important pour un non développeur mais veillez tout de même à ce que les noms des champs soient tous différents.

Chaque balises <line></line> est composée de plusieurs éléments :

La balise type

Cette balise indique le type du champs. Elle peut prendre les valeurs suivates :

Pour chaque valeur, les options diffèrents mais nous verrons cela plus tard.

text

Son équivalent XHTML est la balise suivante :

<input type="text" />

Elle indique un champs de saisie court de texte.

textarea

Son équivalent XHTML est la balise suivante :

<textarea></textarea>

Elle indique un champs de saisie de texte grand.

radio

Son équivalent XHTML est la balise suivante :

<input type="radio" />

Elle indique une suite de boutons qui ne peuvent etre cochées en meme temps (un et un seul)

checkbox

Son équivalent XHTML est la balise suivante :

<input type="checkbox" />

Elle indique une suite de boutons qui peuvent etre cochées en meme temps (0 ou plus)

list

Son équivalent XHTML est la balise suivante :

<select></select>

Elle indique une liste de choix déroulante.

multilist

Tout comme la “list”, elle permet d'afficher une liste de choix avec plusieurs selections possibles (et présente egalement tous les choix au lieu d'un menu déroulant). C'est l'équivalent de :

<select multiple="multiple">[...]</select>

La balise lang

Il s'agit là du texte inscrit avant et décrivant la ligne (ici “Type”) :

La balise option

Dans cette balise seront regroupées toutes les options qu'il peut y avoir.

La premiere balise d'option commune à toutes est la balise <default></default> qui correspond à la valeur par défaut de la ligne.

Ensuite, cela se complique car pour chaque type de ligne, les options diffèrent. Ainsi, je séparerai encore selon les types.

Type de ligne Noms des options
text size, maxlength
textarea rows, cols
radio direction, list
checkbox direction, separator, list
list list
multilist size, separator, list

La balise <size></size> correspond simplement à la longueur du champ. (paramètre du même nom en xhtml) La balise <maxlength></maxlength> limite le nombre maximum de caractères rentrés dans la champs. La balise <rows></rows> permet d'indiquer la hauteur de la zone de texte. A completer avec la balise <cols></cols> qui, elle, détermine la largeur. La balise <direction></direction> détermine si vous voulez une liste verticale (“vertical”) ou pas (“horizontal”). La balise <list></list> contient la liste des éléments. Elle est composée de balises <elem></elem>. La balise option → default se réfère à cette balise là dans le cas d'un ensemble de valeurs.

## TODO : La balise <separator></separator>

La balise result

Elle défini l'affichage final du résultat lors de l'affichage du message.

Exemples de map

Voici une map composé de chaque type de ligne possible :

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<map>
	<head>
		<title>Test</title>
	</head>
	<body>

		<line name="ligne_text">
			<type>text</type>
			<lang>Champs de Texte</lang>
			<option>
				<default>Valeur par defaut</default>
				<size>20</size>
				<maxlength>15</maxlength>
			</option>
			<result>Champs de Texte : %s</result>
		</line>
		
		<line name="ligne_textarea">
			<type>textarea</type>
			<lang>Champs de type textarea</lang>
			<option>
				<default>Valeur par defaut</default>
				<rows>20</rows>
				<cols>15</cols>
			</option>
			<result>Champs de type textarea : %s</result>
		</line>
		
		<line name="ligne_radio">
			<type>radio</type>
			<lang>Liste de boutons radio</lang>
			<option>
				<default>3</default>
				<list>
					<elem>1</elem>
					<elem>2</elem>
					<elem>3</elem>
					<elem>4</elem>
					<elem>5</elem>
				</list>
				<direction>vertical</direction>
			</option>
			<result>Liste de boutons radio : %s</result>
		</line>
		
		<line name="ligne_checkbox">
			<type>checkbox</type>
			<lang>Liste de boutons checkbox</lang>
			<option>
				<default>
					<elem>1</elem>
					<elem>3</elem>
				</default>
				<list>
					<elem>1</elem>
					<elem>2</elem>
					<elem>3</elem>
					<elem>4</elem>
					<elem>5</elem>
				</list>
				<direction>vertical</direction>
				<separator> - </separator>
			</option>
			<result>Liste de boutons checkbox : %s</result>
		</line>
		
		<line name="ligne_list">
			<type>list</type>
			<lang>Liste</lang>
			<option>
				<default>4</default>
				<list>
					<elem>1</elem>
					<elem>2</elem>
					<elem>3</elem>
					<elem>4</elem>
					<elem>5</elem>
				</list>
			</option>
			<result>Liste : %s</result>
		</line>
		
		<line name="ligne_multilist">
			<type>multilist</type>
			<lang>Liste multiple</lang>
			<option>
				<size>2</size>
				<default>
					<elem>3</elem>
					<elem>5</elem>
				</default>
				<list>
					<elem>1</elem>
					<elem>2</elem>
					<elem>3</elem>
					<elem>4</elem>
					<elem>5</elem>
				</list>
				<separator> ## </separator>
			</option>
			<result>Liste multiple : %s</result>
		</line>
		
	</body>
</map>

Plus d'info

 
fsb2/dev/files/main/lib/maps.txt · Dernière modification: 23:15 23/05/2007 par grummfy
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki