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 <
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:
Hvert element i venstre kolonne kan sendes inn i deres respektive omfang. For eksempel:
# $. Innhold ( 'metaKeywords') #
og
# $. SiteConfig ( 'domene') #
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.
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:
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 (...) #
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.
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.