Mura CMS Template Variables

Når du bygger temaene dine, vil du ønske å ta med dynamisk innhold fra Mura-siden din for å vise metainformasjon, titler, kropp og så videre. For sidenivåvariabler må du få tilgang til innhold omfang for den siden. Dette gjøres ved å bruke $ .Content ( 'variabel'). For eksempel, hvis du vil ha sidens metabeskrivelse, ville det bli åpnet slik:

# $. Innhold ( 'metaDesc') #

Den fulle taggen i din html_head.cfm ville se slik ut:

For informasjon om hele nettstedet, for eksempel nettstednavnet, vil du bruke siteConfig omfang:

# $. SiteConfig ( 'variabel') #

Hvis du for eksempel vil vise sidetittelen din så vel som nettstednavnet i malerens tittelkode, gjør du følgende:

#HTMLEditFormat ($. Innhold ('HTMLTitle') # - #HTMLEditFormat ($. SiteConfig ('site')) #

Tips: HTMLEditFormat () erstatter spesialtegn (<, >, &, ") i en streng med deres HTML-escaped ekvivalenter. For eksempel ville det erstatte < med <

Dumping Tilgjengelige Variabler

Hvis du vil se alle tilgjengelige verdier for både innhold og nettstedet ditt, plasserer du følgende kode i en av sidemaler og kjører siden:

Innholdsvariabler

Nettstedvariabler

Hvert element i venstre kolonne kan sendes inn i deres respektive omfang. For eksempel:

# $. Innhold ( 'metaKeywords') #

og

# $. SiteConfig ( 'domene') #

Varselvis viser verdier

Noen ganger kan det hende du bare vil sende ut noen oppmerkning hvis en verdi er angitt i feltet. Hvis du for eksempel vil skrive ut sidenes forfatter, kan du gjøre noe slikt:

Skrevet av: # $. Innhold ( 'sp') #

Men hvis den aktuelle siden ikke hadde en forfatter inn i "credits" -feltet, ville siden din bare gjengi Skrevet av:

For å unngå dette kan vi bruke litt CFML-logikk:

 Skrevet av: # $. Innhold ( 'sp') # 

De len (short for 'lengde') funksjon i CFML bestemmer lengden på en variabel. Hvis ekte (det vil si at det faktisk er en verdi i feltet), vil den fortsette og gi ut ditt oppslag. Ellers vil det bare hoppe over det helt og ikke skrive ut noe.

Primær Nav

Mura har en innebygd funksjon for å automatisk ta alle toppnivå sider i nettstedet ditt manager og vise dem i en navigasjonsliste:

# $. DspPrimaryNav () #

De $ .DspPrimaryNav () Funksjonen vil vises i den rekkefølgen du har satt opp i nettstedssjefen din. Elementer som skjermen er satt til Nei eller Navigasjon sett til Nei vil ikke sende ut i primærnavnet ditt. 

Du kan sende flere argumenter til denne funksjonen for å kontrollere ulike aspekter av navigasjonsutgangen din:

# $. dspPrimaryNav (viewDepth = 1,, aldri ", closeFolders = false, showCurrentChildrenOnly = false, liHasKidsClass =", liHasKidsAttributes = ", liCurrentClass =", liCurrentAttributes = ", liHasKidsNestedClass =", aHasKidsClass = ", aHasKidsAttributes =", aCurrentClass = ", aCurrentAttributes =", ulNestedClass = ", ulNestedAttributes =", aNotCurrentClass = ", siteid = $ .hendelse (" siteid ")) #

En fullstendig liste over disse argumentene og deres beskrivelser finnes i Mura-dokumentene.

Standardutgangen til Primærnavigasjonen er en enkel, uordnet liste (

    ):

    Men ved å legge til noen ekstra markering rundt naven og justere noen av argumentene, kan du raskt utforme dette inn i et hvilket som helst CSS-tema:

    Cacheing og ytelse

    Det anbefales at du pakker inn din primære navigasjonskode i tag for å øke ytelsen på nettstedet ditt. De cf_CacheOMatic tag kan brukes til å cache mindre ofte oppdaterte elementer som har større programserver overhead. Den brukes sammen med caching alternativ under Site Config> Rediger nettsted. De cf_CacheOMatic tag vil faktisk ikke cache noe med mindre nettstedets caching er slått på. "Nøkkel" attributtets prefiks (i dette tilfellet, dspPrimaryNav) kan brukes til å gi kontekst til den unike variabelen, # $. Innhold ( 'ContentID') #, opprettet for det hurtigbufrede elementet.

    Din fulle Primay Nav ville se noe ut som dette:

     # $. dspPrimaryNav (...) # 

    Sidetittel, Kropp og Primærbilde

    For å utdatere sidetittel, kropp og tilhørende bilde, vil du bruke $ .DspBody () tag, og spesifiser disse elementene:

    # $. dspBody (kropp = $. innhold ('body'), pageTitle = $. innhold ('tittel'), showMetaImage = 1) #

    Dette vil automatisk sende disse elementene sammen på den gjengitte siden. Hvis du trenger å skille sidetittelen, eller fjerne den helt, kan du også gjøre det:

    #HTMLEditFormat ($. Innhold ( 'tittel')) #

    # $. dspBody (kropp = $. innhold ('body'), pageTitle = ", showMetaImage = 1) #

    $ .DspBody () er en spesiell funksjon i Mura som krever annen funksjonalitet, for eksempel passordbeskyttede sider, mappeutgang etc. Det anbefales at du bruker $ .DspBody () å sende ut kroppen i maler for å sikre at disse typer funksjonalitet vil fortsette å fungere riktig. 

    Brødsmuler

    Til slutt kan du bruke Mura sin innebygde funksjon for utmatning av sidens breadcrumbs slik:

    # $. DspCrumbListLinks () #

    Som du kan se, er det mulig å bruke dynamisk innhold raskt inn i templatmalene ved å bruke templatevariabler.