[Comportement serveur] 1 - Création
Écrit par Thibault Imbert | 31-07-2005
Index de l'article
[Comportement serveur] 1 - Création
Page 2

Paramètres dynamiques

Il faut ensuite déterminer quels seront les paramètres que devra rentrer l'utilisateur du comportement.
Ces paramètres se trouvent dans le second bloc de code :

<?php echo convertirDate( $row_rsDates['date'] ); ?>

Il faudra que l'utilisateur précise :

  • le jeu d'enregistrement à utiliser : rsDates
  • le champ à utiliser : date

Pour que Dreamweaver comprenne qu'il va y avoir deux paramètres à cet endroit, nous allons les retranscrire de la façon suivante :

  • rsDates => @@Recordset@@
  • date => @@ChampDate@@

Et le bloc de code que nous aurons à insérer sera :

<?php echo convertirDate( $row_@@Recordset@@['@@ChampDate@@'] ); ?>

On ajoute donc ce second bloc de code, qui, lui, va venir se placer par rapport à la sélection, donc dans la partie <body> du document, à l'endroit du pointeur une fois le comportement appliqué au document.


Figure 7.

Les paramètres sont entourés par des doubles arobases comme ceci : @@Paramètre@@.
Si le paramètre est présent plusieurs fois dans le code il n'apparaît qu'une seule fois dans l'interface du comportement de serveur.
Ici nous avons rentré le code directement par un copier-coller et vous constatez dans la colonne Paramètres que Dreamweaver a bien détecté la présence des arobases, et il affiche donc en tant que paramètres tout texte entouré de ces doubles arobases.

À la place du copier-coller, nous aurions pu aussi utiliser l'outil de Dreamweaver Insérer paramètre dans bloc de code.


Figure 8.

Bouton Avancé

En cliquant sur le bouton Avancé on accède à deux autres options.

En cochant la case Identificateur de notre second bloc de code, le nom du comportement de serveur et ses paramètres (Recordset et ChampDate) apparaîtront dans le panneau Comportements de serveur à chaque application dans le document (obligatoire pour au moins un bloc de code).
Dans le cas présent nous choisissons le second bloc de code, ceci permettant d'appliquer le comportement plusieurs fois dans le document tout en ayant des paramètres différents à chaque fois.

Notez que le Titre demandé ici n'est pas celui du Nom demandé à la figure 2. Par défaut, DMX lui a donné la même valeur mais étant donné que ce Titre de comportement serveur est destiné à apparaitre dans le  panneau, nous allons le formater corecctement et l'appeler Convertir une date MySql.
C'est également ce titre qui apparaitra dans la barre de titre de l'interface.

Les paramètres qui suivent entre parenthèses sont tous les paramètres entourés d'arobases que DMX a détecté. Ici nous n'en avons que deux, nous pouvons donc les laisser tels quels, car ils ne sont pas envahissants, mais sachez que si votre extension en comprend beaucoup, vous pouvez purement et simplement tout supprimer, parenthèses comprises, ou bien n'en laisser qu'un ou deux, ceux que vous jugerez les plus pertinents. Par exemple dans notre cas nous aurions pu laisser juste le paramètre du Recordset, indiquant ainsi à l'utilisateur sur quel jeu d'enregistrement il a appliqué le comportement.


Figure 9.

Types de champs du comportement de serveur

Nous avons dit que l'utilisateur devrait indiquer quels sont les paramètres nécessaires au comportement.
Dans l'interface du comportement, chaque paramètre correspondra un champ de formulaire.

Dans cette fenêtre nous pouvons spécifier :

  • la position des différents champs (quel champ de formulaire apparaitra en premier dans l'UI)
  • et surtout le type de champ de formulaire.



Figure 10.

Par défaut Dreamweaver propose uniquement des champs de formulaire de type Texte. En cliquant sur la petite flèche noire vis-à-vis de chaque paramètre, de nombreux autres types de champs sont proposés.



Figure 11.

Dans le cadre de notre comportement :

  • Recordset sera un Menu de jeu d'enregistrements
  • ChampDate sera un Menu du champ de jeu d'enregistrements

Accès et interface

Une fois terminé, fermez Dreamweaver et relancez-le, ceci pour être sûr que Dream va bien détecter et recharger le nouveau comportement serveur.
Celui-ci est maintenant accessible via le panneau Applications > Comportements de serveur > ConvertirDate, et devant vos yeux admiratifs voici son interface ;-)

Notez un premier point concernant la gestion des erreurs, sur laquelle nous reviendrons.
Faites un test sur une page vide.
Si vous tentez d'appliquer ce comportement dans une page qui ne contient aucun jeu d'enregistrement, DMX vous affiche une boite d'alerte Javascript, vous invitant à en créer un AVANT d'appliquer le comportement.
Ceci pour vous faire remarquer que nous n'avons pas à nous occuper de ce type d'erreur (absence de jeu d'enregistrements), contrairement aux autres extensions telles que les objets, commandes, comportements où c'est à nous de gérer l'autorisation d'utiliser ou non telle ou telle extension.
Ici DMX le fait à notre place :

Quand l'utilisateur sélectionne le comportement Convertir une date MySql , DMX vérifie de lui-même si au moins un jeu d'enregistrement existe dans le document, et ceci grâce au fait que nous avons déclaré, lors de la création du comportement, que notre variable (paramètre) @@Recordset@@ était de type Menu de jeu d'enregistrement (voir Figure 11)


Figure 12.

Bien sûr, tel quel, c'est du brut de brut que Dreamweaver nous a livré... Selon votre version de Dreamweaver (Dreamweaver MX ou Dreamweaver MX 2004),cette interface (UI) peut se présenter légèrement différemment mais le résultat final est le même. Remarquez que les étiquettes à gauche des champs de formulaire sont exactement les noms des paramètres que nous avions défini dans le Créateur de comportement (figure 7, Paramètres dynamiques)

Il va s'agir d'améliorer un peu tout ça, ce que nous ferons dans la 2ème partie de ce tutorial. Nous verrons pourquoi les boutons le l'UI sont apparus automatiquement, ce que Dreamweaver a généré en arrière-plan à l'insu de notre plein gré, comment apporter une aide à l'utilisateur, ainsi que quelques recommandations d'ordre général, éditées par Macromedia.

>> Partie 2 : Mise en forme



 
Dernière mise à jour : 13-09-2006