Umbraco galleri macro til brug i din contenteditor

Jeg har for at gøre min blog mere brugbar i fremtiden, lavet en hurtig galleri macro som kan bruges inline i richtext editoren.

Der er ikke noget hemmligt i det blot en hurtig snippet kode du kan smide i en macro og gøre den brugbar i din editor. Ved du ikke hvordan ? Så går jeg det hurtigt igennem med dig. 

Step.1 - lav en macro 

Macroer er i umbraco "små" byggeklodser som vi kan anvende ud igennem vores løsning.

Du finder dem under developer -> Macros.

Når den er oprettet skal vi have oprettet en parameter hvor vi kan vælge en folder(eller et billede) fra mediearkivet. Dette gør vi oppe i tab'en parameter. Her skal du stikke din parameter et navn og et alias. Aliaset er det vi kalder selve parameteren på senere i vores razor kode. Herudover skal du også vælge en parameter type, her kan du bruge "media current", som egentlig er en media picker hvor vi for mulighed for at vælge en medie mode(folder/billede/andet).

Husk at du skal sætte flueben i "Use in editor"(nede i bunden af af macro menuen), så kan vi efterfølgende bruge den ude fra vores editor. 

Step.2 - Flæk noget raz0r sammen 

Nu skal vi ha' oprettet et hurtigt razor script som kan håndtere at vi har valgt en medie node. Jeg vil ikke kommentere koden da den er så kort og meget selv forklarende.

Eneste relevante at fortælle er at "nodeSelector" er mit alias for macro parameteren.

@{ 
     var  chosenMedia  =  Model.MediaById(@Parameter.nodeSelector);

     if  (chosenMedia.NodeTypeAlias  ==  "Folder")
     {
         foreach  (var  img  in  chosenMedia.Children)
         {
             if  (img.NodeTypeAlias  ==  "Image")
             {
                         
                 <img  src="@img.umbracoFile"/>
            
             }
         }
     } 
}

Så er du bare klar til at vise alle dine fede ferie billder, her nedenfor kan du se hvordan jeg hurtigt har pakket den ind i en omgang fancybox galleri. 

 PS: hvis du render din "bodytext"(indholdet fra din wysiwag editor) igennem en macro betyder det jo egentlig at du prøver at render en macro i en macro?!(inception anyone?). for at løse dette så tag et kig på denne post fra communitiet. pst. hemmeligheden er "RenderMacroContent"

Postet af Rasmus Fjord - 19:17
Kategorier:

0 Kommentarer:

Smid en kommentar :

Forfatter

Seneste kommentarer

Arkiv