Bij het bouwen van uw thema's wilt u dynamische inhoud van uw Mura-site binnenhalen om meta-informatie, titels, tekst enzovoort weer te geven. Voor variabelen op paginaniveau heeft u toegang tot de. Nodig inhoud
bereik voor die pagina. Dit wordt gedaan met behulp van $ .Content ( 'variableName')
. Als u bijvoorbeeld de metabeschrijving van de pagina wilt, zou deze als volgt worden benaderd:
# $. Gehalte ( 'metaDesc') #
De volledige tag in uw html_head.cfm zou er als volgt uitzien:
Voor informatie over de gehele site, zoals de sitenaam, gebruikt u de siteConfig
scope:
# $. SiteConfig ( 'variableName') #
Als u bijvoorbeeld uw paginatitel en de sitenaam in de titeltag van uw sjabloon wilt weergeven, doet u het volgende:
#HTMLEditFormat ($. Content ('HTMLTitle') # - #HTMLEditFormat ($. SiteConfig ('site')) #
Tip: HTMLEditFormat ()
vervangt speciale tekens (<
, >
, &
, "
) in een string met hun HTML-equivalenten. Het zou bijvoorbeeld vervangen worden <
met <
Als u alle beschikbare waarden voor zowel inhoud als uw site wilt zien, plaatst u de volgende code in een van uw paginasjablonen en voert u de pagina uit:
Elk item in de linkerkolom kan worden doorgegeven aan hun respectieve scope. Bijvoorbeeld:
# $. Gehalte ( 'MetaKeywords') #
en
# $. SiteConfig ( 'domein') #
Soms wilt u mogelijk alleen een opmaak uitvoeren als er een waarde in het veld is ingevoerd. Als u bijvoorbeeld de auteur van de pagina wilt uitvoeren, doet u zoiets als dit:
Geschreven door: # $. Gehalte ( 'credits') #
Als op die bepaalde pagina echter geen auteur is ingevoerd in het veld 'aftiteling', zou uw pagina alleen het Geschreven door:
Om dit te voorkomen, kunnen we een beetje CFML-logica gebruiken:
Geschreven door: # $. Gehalte ( 'credits') #
De len
(afkorting van 'length') functie in CFML bepaalt de lengte van een variabele. Als waar
(d.w.z. er is feitelijk een waarde in het veld), het zal doorgaan en uw markup uitvoeren. Anders zal het er gewoon helemaal overheen springen en niets produceren.
Mura heeft een ingebouwde functie om automatisch alle pagina's op het hoogste niveau in uw sitebeheerder te maken en ze in een navigatielijst weer te geven:
# $. DspPrimaryNav () #
De $ .DspPrimaryNav ()
functie wordt weergegeven in de volgorde die u hebt ingesteld in uw sitebeheerder. Items waarvoor het display is ingesteld Nee of de navigatie ingesteld op Nee wordt niet uitgevoerd in uw primaire navigatie-eenheid.
U kunt verschillende argumenten in deze functie doorgeven om verschillende aspecten van uw navigatie-uitvoer te besturen:
# $. dspPrimaryNav (viewDepth = 1,, never ", closeFolders = false, showCurrentChildrenOnly = false, liHasKidsClass =", liHasKidsAttributes = ", liCurrentClass =", liCurrentAttributes = ", liHasKidsNestedClass =", aHasKidsClass = ", aHasKidsAttributes =", aCurrentClass = ", aCurrentAttributes =", ulNestedClass = ", ulNestedAttributes =", aNotCurrentClass = ", siteid = $. event (" siteid ')) #
Een volledige lijst van deze argumenten en hun beschrijvingen is te vinden in de Mura-documenten.
De standaarduitvoer van de primaire navigatie is een eenvoudige ongeordende lijst (
):
Door echter wat extra opmaak toe te voegen rond de navigatiebalk en enkele van de argumenten aan te passen, kunt u dit snel in elk CSS-thema indelen:
Het wordt aanbevolen dat u uw primaire navigatiecode verpakt in de
tag om de prestaties op uw site te verbeteren. De cf_CacheOMatic
tag kan worden gebruikt voor het cachen van minder vaak bijgewerkte items met een hogere toepassingsserver. Het wordt gebruikt in combinatie met de caching optie onder Site Config> Site bewerken. De cf_CacheOMatic
tag zal eigenlijk niets in de cache opslaan, tenzij de cache van de site is ingeschakeld. Het voorvoegsel van het kenmerk 'sleutel' (in dit geval, dspPrimaryNav
) kan worden gebruikt om context te geven aan de unieke variabele, # $. Gehalte ( 'contentid') #
, gemaakt voor het item in de cache.
Uw volledige Primay Nav zou er ongeveer zo uitzien:
# $. dspPrimaryNav (...) #
Als u de paginatitel, het hoofdgedeelte en de bijbehorende afbeelding wilt uitvoeren, wilt u de $ .DspBody ()
tag en specificeer deze elementen:
# $. dspBody (body = $. content ('body'), pageTitle = $. content ('title'), showMetaImage = 1) #
Hierdoor worden deze elementen automatisch samen uitgevoerd op de weergegeven pagina. Als u de paginatitel moet scheiden of volledig wilt verwijderen, kunt u dat ook doen:
#HTMLEditFormat ($. Gehalte ( 'title')) #
# $. dspBody (body = $. content ('body'), pageTitle = ", showMetaImage = 1) #
$ .DspBody ()
is een speciale functie in Mura die andere functies zoals wachtwoordbeveiligde pagina's, mapuitvoer enz. aanwendt. Aanbevolen wordt om deze te gebruiken $ .DspBody ()
om het lichaam in uw sjablonen uit te voeren om ervoor te zorgen dat dit soort functies correct blijft werken.
Ten slotte kunt u de ingebouwde functie van Mura gebruiken om de broodkruimels van de pagina als volgt uit te voeren:
# $. DspCrumbListLinks () #
Zoals u kunt zien, is het gebruik van sjabloonvariabelen een uitstekende manier om dynamische inhoud snel op te nemen in uw themasjablonen.