Trucs et astuces pour Coldfusion MX 7 par Serge Rappaille

Trucs et astuces pour Coldfusion MX 7

Présentation

Ce blog n'a pour seule prétention que de vous offrir mes différentes découvertes sur Coldfusion MX 7, tantôt des solutions, tantôt des petits soucis qui resteront aussi énigmatiques que le sourire de la Joconde. Je souhaite seulement que certains articles vous feront gagner du temps.

Bonne lecture,

Serge Rappaille

Forum Coldfusion

Souscrivez à notre forum francophone sur Google Groups Bêta.
Votre adresse email :


lundi 18 avril 2005

Adobe rachète Macromedia !

Pour le communiqué d'Adobe, c'est par ici. Pour celui de Macromedia, c'est par là !

Des deux qui restera ? GoLive CS2 ou DreamWeaver MX 2004 ?

lundi 4 avril 2005

Coldfusion et URL rewriting

De nombreux moteurs de recherche digèrent mal les sites dynamiques basés sur le passage d'arguments dans l'URL. Cas typique d'un annuaire ou d'un catalogue en ligne. Surtout lorsque le nombre d'arguments dépasse 3 éléments (ce chiffre est basé sur mon unique expérience). Mais il existe une technique qui "simule" une arborescence en lieu et place d'un passage d'arguments, c'est l' URL rewriting !

Pour mémoire, ce qui suit ne s'applique pas uniquement à Coldfusion. Cela fonctionnera tout aussi bien avec PHP, ASP, JSP, etc.

Bref, si vous avez IIS, je vous invite à télécharger la version freeware d'ISAPI_Rewrite sur...

http://www.helicontech.com/download/#isapi_rewrite

Une fois installé, ce qui ne prend que quelques secondes, vous éditerez le fichier httpd.ini pour ajouter la ligne de commande suivante :

RewriteRule (.*?\.cfm)(\?[^/]*)?/([^/]*)/([^/]*)(.*) $1(?2$2&:\?)$3=$4$5 [NS,I]

A présent, créez une page CFM affichant deux variables passées par url.

http://localhost/rewriting_test.cfm?var1=Hello&var2=World

Sauvegardez et lancez votre navigateur pour y saisir l'url suivant :

http://localhost/rewriting_test.cfm/var1/Hello/var2/World

Pas mal non ?

Pour plus d'information sur les lignes de commande :

http://www.isapirewrite.com/docs/

Seul bémol, la gestion des liens relatifs. Mais je vous laisse découvrir la suite par vous même.

vendredi 1 avril 2005

Flash forms au pixel près !

Il est possible de positionner un bouton correctement en s'aidant de CFFORMGROUP mais il est également possible de positionner un élément au pixel près. Comment ? En lui donnant ses coordonnées pardi ! Voici donc un exemple aussi idiot que simplifiable (inutile de brouiller les cartes). Notons au passage la présence de ses majestés CFFUNCTION et CFSAVECONTENT, elles font des merveilles dans ce genre de contexte :

<cffunction name="rangement" output="Yes">
<cfsavecontent variable="nvllesCoordonnees">
var x= 0;
var y = 120;
cadran._x = 13; cadran._y = -426;
bouton_1._x = x+20; bouton_1._y = y+20;
bouton_2._x = x+60; bouton_2._y = bouton_1._y;
bouton_3._x = x+100; bouton_3._y = bouton_1._y;
bouton_4._x = bouton_1._x; bouton_4._y = y+60;
bouton_5._x = bouton_2._x; bouton_5._y = bouton_4._y;
bouton_6._x = bouton_3._x; bouton_6._y = bouton_4._y;
bouton_7._x = bouton_1._x; bouton_7._y = y+100;
bouton_8._x = bouton_2._x; bouton_8._y = bouton_7._y;
bouton_9._x = bouton_3._x; bouton_9._y = bouton_7._y;
bouton_10._x = bouton_1._x; bouton_10._y = y+140;
bouton_11._x = bouton_2._x; bouton_11._y = bouton_10._y;
bouton_12._x = bouton_3._x; bouton_12._y = bouton_10._y;
</cfsavecontent>
<cfreturn nvllesCoordonnees>
</cffunction>

<cfform format="flash">
<cfformgroup type="panel" width="165" visible="yes" enabled="yes">
<cfinput type="button" name="bouton_1" value="1"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_2" value="2"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_3" value="3"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_4" value="4"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_5" value="5"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_6" value="6"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_7" value="7"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_8" value="8"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_9" value="9"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_10" value="*"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_11" value="0"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="button" name="bouton_12" value="##"

height="30" width="30" onclick="#rangement()#;">
<cfinput type="text" name="cadran" value="Cliquez-moi"

height="120" width="120" onmousedown="#rangement()#;">
</cfformgroup>
</cfform>

Notons que le dernier champ passe au dessus des autres, les coordonnées deviennent dès lors étrangement relatives. Bref, cela ne ressemble pas encore à un Nokia mais avec un peu de patience...

Recherche programmeur Coldfusion

Rubrique temporairement fermée.