Pense-bête XSLTCompilé par Pascal Magat sur le Forum Petit récapitulatif XSLT en vrac à mettre de côté pour le &: &
une colonne : sans les quotes car le forum met un espace <xsl:text disable-output-escaping="yes">' '</xsl:text>
entete avec image: (en passant l'ID de la fiche au template 'montemplate') <td>
<div align="center">
<a>
<xsl:attribute name="href">
<xsl:call-template name="montemplate">
<xsl:with-param name="recordid" select="@record-id"/>
</xsl:call-template>
</xsl:attribute>
<img src="http://tonsite/modif.jpg" border="0"" />
</a>
</div>
</td>
fonction "si, alors" : - on déclare une variable: <xsl:variable name="mavar" select="fmrs:field[@name='rubriqueFMP']/fmrs:data" />
<xsl:choose>
<xsl:when test='$mavar != ""'> (on teste)
"fait un truc"
</xsl:when>
<xsl:when test='$mavar != ""'> (on teste)
"fait un autre truc"
</xsl:when>
<xsl:when test='$mavar != ""'> (on teste)
"fait encore un autre truc"
</xsl:when>
<xsl:otherwise>
"ou sinon va te coucher"
</xsl:otherwise>
</xsl:choose>
Gestion des cookies (il y a d'autres classes JS): <script type="text/JavaScript">
<xsl:text disable-output-escaping="yes">
<![CDATA[
function getcookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}
function setcookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}
]]>
</xsl:text>
</script>
enregistrer un cookie en cliquant sur un lien par exemple <a href="xxx.xsl" onclick="java script:setcookie('username','',365)"> Entrée </a>
Récupérer le cookie: <script type="text/JavaScript">
<xsl:text disable-output-escaping="yes">
<![CDATA[
username=getcookie('username');
document.write("<b>Bienvenue " + username + "</b>");// affiche le nom dans la page
]]>
</xsl:text>
</script>
Alternative: les sessions xslt Pour obtenir les sessions (à mettre en haut des pages aprés les xml et xmlns: <?xslt-cwp-buffer buffer-content="true" ?>
Création de la session: <xsl:choose>
<xsl:when test="fmxslt:session_exists('masession')">
</xsl:when>
<xsl:otherwise>
<xsl:variable name="instantiating_session" select="fmxslt:create_session('masession')"/>
</xsl:otherwise>
</xsl:choose>
Enregistrer dans la session: <xsl:variable name="a" select="fmxslt:set_session_object('masession', 'nom', $nomok)"/>
(ou $nomok est une variable déclarée précédement)
Mettre un objet de session <xsl:value-of select="fmxslt:get_session_object('masession', 'nom')" />
Date en français : <xsl:variable name="date_norm" select="$madate" />
<xsl:variable name="an" select="substring($date_norm, 7, 4)" />
<xsl:variable name="mois" select="substring($date_norm, 1, 2)" />
<xsl:variable name="jour" select="substring($date_norm, 4, 2)" />
<xsl:variable name="date_complete" select="concat($jour, '/', $mois, '/', $an)" />
<xsl:value-of select="$date_complete" />
Un head qui va bien <head>
<meta http-equiv="Cache-Control" content="no-cache"/>
<title>xxx</title>
<style type="text/css" media="screen">
<xsl:comment>
@import url("http://tonsite.com/tafeuille.css");
</xsl:comment>
</style>
</head>
Gestion des token pour transmettre des valeurs de page en page (fonctionne en POST aussi) Création du token par formulaire: <input name="-token.mag" type="hidden">
<xsl:attribute name="value">
<xsl:value-of select="fmrs:field[@name='rubriqueFMP']/fmrs:data" />
</xsl:attribute>
</input>
ou par lien: <xsl:variable name="adresse" select="concat('page.xsl?-lay=modele&-token.mag=',$nom,'-findall')" />
<a href="{fmxslt:session_encode_url($adresse)}"> cliquez </a>
attribuer un token à une variable <xsl:variable name="mavar" select="$request-query/fmq:query/fmq:parameter[@name = '-token.mag']" />
afficher le token <xsl:value-of select="$request-query/fmq:query/fmq:parameter[@name = '-token.mag']"/>
repasser le token par form: <input name="-token.mag" type="hidden">
<xsl:attribute name="value">
<xsl:value-of select="$request-query/fmq:query/fmq:parameter[@name = '-token.mag']"/>
</xsl:attribute>
</input>
à suivre ... Vous pouvez contribuer .... |