Custom XSLT extensie

Je kunt sommige functies uit de xslt rendering halen en in een bibliotheek (.dll)  bestand stoppen. Deze bibliotheek is dan door de Sitecore in de IIS geladen en telkens je een xslt rendering doet kun je ze  gebruiken.

Voordelen

Het voordeel hiervan is dat de xslt bestand minder complex eruit ziet en daardoor dus gemakkelijker te onderhouden. Bovendien kun je deze functies hergebruiken. Denk aan algemene functies die in alle Sitecore projecten wordt gebruikt maar ook binnen een project vaak voorkomende projecten.
Sommige zaken kun je helemaal niet in de xslt oplossen, bijvoorbeeld een stukje informatie uit de database halen.  Soms wil je ook niets vragen maar wel een melding doen of een trace achterlaten.

Implementatie in C#

Als je doodgewone functies wilt maken zonder initiële constructies met parameters, hoef je niets speciaal doen. Maak gewoon een public class met public methode zoals deze voorbeeld:

001    namespace XsltExtensions
002    {
003        public class eFocus
004        {
005            public string GetCopyright()
006            {
007                return " eFocus 2008";
008            }
009        }
010    }

 

Eenmaal dat je de code hebt gecompileerd krijg je een .dll die je moet copieren op bin folder van je Sitecore project.

Configureren van web.config

Open de xslExtensions sectie en voeg de volgende toe:

001    <extension mode="on" 
002       type="XsltExtensions.eFocus, XsltExtensions"
003       namespace="http://www.efocus.nl/efocus" 
004       singleInstance="true" />

 

Gebruiken

In een sample.xslt bovenaan maak een referentie naar deze namespace zoals hierop volgt:

001    xmlns:eFocus="http://www.efocus.nl/efocus"

 

Vervolgens maak je gebruik van deze functie zoals deze:

001    <xsl:value-of select="eFocus:GetCopyright()" />

{{opmerking.Naam}}:

{{opmerking.OpmerkingText}}

            

Saving your comment....

Naam is verplicht!
Email is verplicht!
Opmerking is verplicht!