Wij staan steeds voor u klaar:
Sint-Elisabethstraat 38a - 2060 Antwerpen
+32 (0)3 666 13 07 - info@webs.be
>> Home>> Blog >> Razor

Een eerste kennismaking met Razor in Umbraco

Door Kim Grandgagnage op 07/07/2011 in - Reageer

Afgelopen woensdag bracht Dirk De Grave van NetaddICTs, Webs een bezoek om ons uitgebreid verslag te doen over Razor. Zitten er dan zo'n bende apen bij Webs dat ze dringend een scheerbeurt nodig hebben denkt u?
Misschien, maar dat doet nu niet ter zake. tongue Waar ik het wèl over heb, leest u hieronder:

Razor is een recente toevoeging aan het Umbraco content management systeem en biedt een back-end programmeur door middel van C#.NET syntax, een alternatief voor XSLT macro's. Razor vervangt echter geen XSLT, maar is een nieuwe view engine voor ASP.NET!

Benieuwd hoe zo'n Razor bestand eruit ziet? Maak onder de developer sectie van Umbraco eentje aan door rechts te klikken op "Scripting Files" en kies "Create".

Je krijgt dan onderstaande keuze:

CreateRazorFile

Geef een bestandsnaam (filename) op, kies "Cshtml by Razor Macro Engine" als taal en selecteer "Empty template", indien je met een blanco razor file wil starten. Voor sommige functionaliteit, zoals het aanmaken van een breadcrump script, helpt Umbraco je een eindje verder door dit al standaard aan te bieden onder de template dropdownlijst. Onderstaande afbeelding toont de reeds gegenereerde code indien we kiezen voor "Breadcrumb":

snippet

snippet

Je ziet dat razor code eigenlijk veel weg heeft van classic ASP. Enkele belangrijke weetjes zijn:

  • Wanneer je razor code combineert met HTML code, zorg er dan voor dat deze code steeds start met het @ symbool!
  • @Model is het equivalent in Razor voor currentPage in XSLT. Dit Model bevat alle data voor de huidige pagina en alle XML die hieronder zit.
  • Gebruik de "dot notation" indien je een property wil aanspreken van @Model.
    vb. @Model.Name geeft de naam van de huidige pagina terug.
  • Met Umbraco 4.7 is het mogelijk om parameters mee te geven aan je razor script, zoals je dit gewoon was met XSLT. Gebruik hiervoor de @Parameter.naamvanparameter syntax.
  • Document types die velden hebben met HTML content, moeten "gewrapped" worden door middel van @HTml.Raw().
    vb. @Html.Rax(Model.bodyText).

Het je een afgelikt stukje Razor code geschreven, en wil je weten of het ding ook effectief iets zinvol doet?
Gebruik dan volgende syntax om de Razor code in je Umbraco template op te nemen:

<umbraco:Macro runat="server" Language="cshtml" FileLocation="~/macroScripts/RazorScript.cshtml" ></umbraco:Macro>

Meer weten? Bekijk volgende interessante video op de site van Codecarden, waarbij Sebastiaan Janssen uitlegt wat de voor-en nadelen van XSLT versus Razor. Een andere aanrader is de walkthrough op de Umbraco blog.

Ben jij een Razor fan of houd je het toch liever bij XSLT? Laat het ons weten!

Share thisTweet this
 

Voeg jouw reactie toe

Connect

Laatste reacties

Skoezie: Vergeet vooral niet wanneer je uw word-files ...

Magali Casalin: SUPER nu weet ik van waar mijn burn-out kwam!!

gilliam: Designer na stap 8: http://www.legaljuice.c...

Amedee: Grafische ontwerpers, zijn dat die mensen die...

Stijn: Maakt BMP screenshots van een website en voeg...

Archief

Tags

Volg webs op het web: