Pour ce faire, le helper XSLT pour l'ODF (org.ametys.plugins.odfweb.xslt.OdfXSLTHelper) a une nouvelle méthode qui permet de récupérer l'url du PDF d'une formation ou d'un sous-programme.
<xsl:variable name="pdfHref" select="odf:odfPDFUrl($contentId, $site)">
Le helper renvoie une valeur vide si le contenu n'est pas une formation ou un sous-programme.
Pour ajouter un lien vers le PDF uniquement pour les formations et les sous-programme de type parcours, voici un exemple de code XSL :
<xsl:variable name="pdfHref">
<xsl:choose>
<xsl:when test="/cms/page/pageContents/zone[@name = 'default']/zoneItem[information/type-information/@id = 'org.ametys.plugins.odf.Content.program' and information/type = 'CONTENT']">
<xsl:variable name="programId" select="/cms/page/pageContents/zone[@name = 'default']/zoneItem[information/type-information/@id = 'org.ametys.plugins.odf.Content.program' and information/type = 'CONTENT'][1]/information/contentId"/>
<xsl:value-of select="odf:odfPDFUrl($programId, $site)"/>
</xsl:when>
<xsl:when test="/cms/page/pageContents/zone[@name = 'default']/zoneItem[information/type-information/@id = 'org.ametys.plugins.odf.Content.subProgram' and information/type = 'CONTENT']">
<xsl:variable name="subprogram-id" select="/cms/page/pageContents/zone[@name = 'default']/zoneItem[information/type-information/@id = 'org.ametys.plugins.odf.Content.subProgram' and information/type = 'CONTENT'][1]/information/contentId"/>
<xsl:variable name="educationKind" select="ametys:contentMetadata($subprogram-id, 'educationKind')"/>
<xsl:if test="$educationKind = 'P'">
<xsl:value-of select="odf:odfPDFUrl($subprogram-id, $site)"/>
</xsl:if>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:if test="string-length($pdfHref) != 0">
<div id="pdf-icon">
<a href="{$pdfHref}" onclick="window.open(this.href); return false;" title="skin.{$skin}:SKIN_DOWNLOAD_PDF_TITLE" i18n:attr="title">
<img src="{ametys:skinURL('img/PDF.png')}" alt="skin.{$skin}:SKIN_DOWNLOAD_PDF_ALT" i18n:attr="alt"/>
</a>
</div>
Pour ce faire, le helper XSLT pour l'ODF (org.ametys.plugins.odfweb.xslt.OdfXSLTHelper) a une nouvelle méthode qui permet de récupérer l'url du PDF d'une formation ou d'un sous-programme.
<xsl:variable name="pdfHref" select="odf:odfPDFUrl($contentId, $site)">
Le helper renvoie une valeur vide si le contenu n'est pas une formation ou un sous-programme.
Pour ajouter un lien vers le PDF uniquement pour les formations et les sous-programme de type parcours, voici un exemple de code XSL :