Mura CMS Template Variables

När du bygger dina teman vill du ta med dynamiskt innehåll från din Mura-sida för att visa metadata, titlar, kropp och så vidare. För sidnivåvariabler behöver du åtkomst till innehåll räckvidd för den sidan. Detta görs genom att använda $ .Content (variabelnamn). Om du till exempel vill ha sidans metabeskrivning, skulle den komma åt så här:

# $. Innehåll (metaDesc) #

Den fullständiga taggen i din html_head.cfm skulle se ut så här:

För information om hela webbplatsen, till exempel webbplatsnamnet, skulle du använda siteConfig omfattning:

# $. SiteConfig (variabelnamn) #

Om du till exempel vill visa sidtitel och sidnamn i mallens titeltagg skulle du göra följande:

#HTMLEditFormat ($. Content ('HTMLTitle') # - #HTMLEditFormat ($ .siteConfig ('site')) #

Tips: HTMLEditFormat () ersätter specialtecken (<, >, &, ") i en sträng med sina HTML-rymda motsvarigheter. Det skulle till exempel ersätta < med <

Dumpning Tillgängliga Variabler

Om du vill se alla tillgängliga värden för både innehåll och din webbplats placerar du följande kod i någon av dina sidmallar och kör sidan:

Innehållsvariabler

Webbplatsvariabler

Varje objekt i den vänstra kolumnen kan överföras till respektive räckvidd. Till exempel:

# $. Innehåll (metaKeywords) #

och

# $. SiteConfig (domain) #

Villkorligt visa värden

Ibland kanske du bara vill mata ut vissa markeringar om ett värde har skrivits in i fältet. Om du till exempel vill skriva ut sidens författare kan du göra något så här:

Skriven av: # $. Innehåll ( 'poäng') #

Om den specifika sidan inte hade en författare i fältet "credits" skulle din sida bara göra Skriven av:

För att undvika detta kan vi använda lite CFML-logik:

 Skriven av: # $. Innehåll ( 'poäng') # 

De len (short for 'length') funktionen i CFML bestämmer längden på en variabel. Om Sann (det vill säga det finns faktiskt ett värde i fältet), det kommer att fortsätta och mata ut din markering. Annars kommer det bara att hoppa över det helt och inte skriva ut någonting.

Primär Nav

Mura har en inbyggd funktion för att automatiskt ta alla högsta sidor i din webbplatshanterare och visa dem på en navigeringslista:

# $. DspPrimaryNav () #

De $ .DspPrimaryNav () funktionen visas i den ordning du har inställt i webbplatshanteraren. Objekt som har skärmen inställd på Nej eller Navigationsuppsättningen till Nej kommer inte att matas ut i din primära nav. 

Du kan skicka flera argument till den här funktionen för att styra olika aspekter av din navigationsutgång:

# $. dspPrimaryNav (viewDepth = 1, aldrig ", closeFolders = false, visaCurrentChildrenOnly = false, liHasKidsClass =", liHasKidsAttributes = ", liCurrentClass =", liCurrentAttributes = ", liHasKidsNestedClass =", aHasKidsClass = ", aHasKidsAttributes =", enCurrentClass = ", aCurrentAttributes =", ulNestedClass = ", ulNestedAttributes =", aNotCurrentClass = ", siteid = $. händelse (" siteid "))

En fullständig lista över dessa argument och deras beskrivningar finns i Mura-dokumenten.

Standardutgången för Primärnavigering är en enkel oorderad lista (

    ):

    Men genom att lägga till ytterligare ytterligare markering runt naven och justera några av argumenten kan du snabbt utforma det här i något CSS-tema:

    Cacheing och prestanda

    Vi rekommenderar att du sätter in din primära navigeringskod i tagg för att öka prestanda på din webbplats. De cf_CacheOMatic taggen kan användas för att cache mindre vanliga uppdaterade objekt som har större applikationsserverns överhead. Den används tillsammans med caching alternativet under Site Config> Redigera webbplats. De cf_CacheOMatic taggen kommer inte att cache någonting om webbplatsens cache inte är aktiverat. "Key" attributets prefix (i detta fall, dspPrimaryNav) kan användas för att ge kontext till den unika variabeln, # $. Innehåll (ContentID) #, skapad för det cachade objektet.

    Din fulla Primay Nav skulle se något ut så här:

     # $. dspPrimaryNav (...) # 

    Sidtitel, Kropp och Primärbild

    För att mata ut sidtitel, kropp och tillhörande bild, vill du använda $ .DspBody () tagga och ange dessa element:

    # $. dspBody (kropp = $. innehåll ('body'), pageTitle = $. innehåll ('titel'), showMetaImage = 1) #

    Detta kommer automatiskt att mata ut dessa element tillsammans på den renderade sidan. Om du behöver separera sidtiteln eller ta bort den helt kan du också göra det:

    #HTMLEditFormat ($. Innehåll ( 'titel')) #

    # $. dspBody (kropp = $. innehåll ('body'), pageTitle = ", showMetaImage = 1) #

    $ .DspBody () är en speciell funktion i Mura som ger annan funktionalitet som lösenordsskyddade sidor, mapputmatning etc. Det rekommenderas att du använder $ .DspBody () att mata ut kroppen i dina mallar för att säkerställa att dessa typer av funktioner fortsätter att fungera korrekt. 

    Ströbröd

    Slutligen kan du använda Mura: s inbyggda funktion för utmatning av sidans brödsmulor så här:

    # $. DspCrumbListLinks () #

    Som du kan se är det enkelt att använda dynamiskt innehåll i tematemplarna genom att använda mallvariabler.