Wanneer u uw thema's maakt, hebt u toegang nodig tot verschillende waarden en objecten die in Mura CMS zijn opgeslagen om te worden uitgevoerd binnen uw themaopmaak of voorbeeldpagina's. De Mura Scope is een snelle en gemakkelijke manier om toegang te krijgen tot gegevens en objecten in Mura CMS. Met de Mura Scope hebt u niet alleen toegang tot gegevens op paginaniveau, maar kunt u ook toegang krijgen tot volledige objecten en functies! Laten we eens kijken naar enkele belangrijke use-cases voor de Mura-scope.
In de zelfstudie Klasse-uitbreidingen hebben we enkele aangepaste kenmerken toegevoegd aan een boekenpagina in Mura en deze waarden uitgevoerd met behulp van een component. We gebruikten de Mura Content Scope om toegang te krijgen tot de contentboon en het gewenste attribuut op te halen. De basissyntaxis voor toegang tot de inhoudsboon is:
$ .Content ( 'someAttribute')
We kunnen deze syntaxis gebruiken om toegang te krijgen tot elke variabele die we van een inhoudknooppunt willen, inclusief aangepaste kenmerken die we toevoegen:
$ .Content ( 'title') $ .Content ( 'samenvatting') $ .Content ( 'credits') $ .Content ( 'type') $ .Content ( 'myExtendedAttribute')
Als uw site is ontworpen om op lidmaatschap gebaseerde functionaliteit te bevatten, kunt u de huidige gebruikersbereik gebruiken om te communiceren met de huidige gebruiker op de site.
Hallo, # $. CurrentUser ('fname') #
Met deze scope hebt u toegang tot algemene informatie over uw Mura CMS-site, meer specifiek, de meeste waarden die u zou vinden in uw Site Config> Site bewerken gebied in de admin. Je hebt dit waarschijnlijk al in het thema gebruikt html_head.cfm bij dynamisch koppelen aan uw CSS- en JS-bestanden:
Dit vertelt Mura dat het niet uitmaakt hoe de naam van het thema wordt genoemd, het pad pakt en de /assets/bootstrap/css/bootstrap.css het dossier. Dit is handig omdat hiermee wordt voorkomen dat de paden worden verbroken als de ontwikkelaar ooit heeft besloten de naam van het thema te wijzigen in iets anders (bijvoorbeeld de naam van het bedrijf van de klant) in ontwikkeling. Als uw thema bijvoorbeeld 'MuraBootstrap3' is (dat wordt geleverd met Mura), zou het pad dat zijn Siteid / includes / themes / MuraBootstrap3 /
En als de ontwikkelaar de thema-naam ooit heeft gewijzigd in 'CompanyABC', zou het pad dan zijn: Siteid / includes / themes / BedrijfABC /
U kunt ook de scope van Site Config gebruiken om toegang te krijgen tot de Naam van de site, zoals deze is ingevoerd in de admin:
$ .SiteConfig ( 'website')
Dit is handig voor zaken als titellabels of voettekstinformatie voor uw thema.
Naast het ophalen van pagina- en sitevariabelen, kan de Mura Scope ook complete ingebouwde en aangepaste objecten weergeven in Mura.
$ .dspForm ('Mijn formulier')
Het weergeven van een component is heel gebruikelijk bij het ontwikkelen van thema's. Hiermee kunt u complexe markeringen in uw indelingssjablonen hebben en alleen de items die u wilt bewerkbaar door uw gebruikers bewerken via de admin.
# $. dspComponent ('Componentnaam') #
$ .dspFeed ('Feed Name')
Zoals we hebben geleerd in de zelfstudie met aangepaste methoden, kunt u met Mura CMS eenvoudig aangepaste functies aan uw thema's toevoegen contentRenderer.cfc en toegang tot hen via de Mura Scope. Dus gezien de volgende functie in uw thema contentRenderer.cfc:
Je kunt gewoon die functie bellen met de Mura Scope:
$ .DspMySlider ()
De Mura Scope is een krachtige tool in Mura die voor verschillende gebruiksdoelen kan worden gebruikt tijdens je thema-ontwikkeling. Ik moedig je aan om het vaak te gebruiken om robuuste thema's te maken.