Mura CMS Mura Scope

Când creați temele, va trebui să accesați diferite valori și obiecte stocate în Mura CMS pentru a fi trimise în cadrul marcajului de teme sau al exemplelor de pagini. Mura Scope este o modalitate rapidă și ușoară de a accesa date și obiecte în Mura CMS. Mura Scope nu numai că vă permite să accesați date la nivel de pagină, dar, de asemenea, vă permite să accesați obiecte și funcții întregi! Să aruncăm o privire asupra câtorva cazuri cheie de utilizare pentru domeniul Mura.

Conținutul domeniului

În tutorialul Extensii de clasă, am adăugat câteva atribute personalizate într-o pagină a cărții din Mura și le afișăm folosind o componentă. Am folosit Mura Content Scope pentru a accesa fasolea de conținut și pentru a prelua atributul dorit. Sintaxa de bază pentru accesarea fasolei de conținut este:

$ .Content ( 'someAttribute')

Putem folosi această sintaxă pentru a accesa orice variabilă dorim de la un nod de conținut, inclusiv orice atribute personalizate pe care le adăugăm:

 $ .Content ( 'titlu')  $ .Content ( 'rezumat')  $ .Content ( 'credite')  $ .Content ( 'tip')  $ .Content ( 'myExtendedAttribute')

Obiectul utilizator actual

Dacă site-ul dvs. este proiectat să includă funcționalități bazate pe membri, poate doriți să utilizați domeniul de aplicare actual al utilizatorului pentru a interacționa cu utilizatorul curent pe site. 

Detectați dacă utilizatorul este sau nu logat

 Bună ziua, # $ currentUser ('fname') #   

Configurarea domeniului site-ului

Acest domeniu vă oferă posibilitatea de a accesa informații globale despre site-ul dvs. Mura CMS, mai exact, majoritatea valorilor pe care le veți găsi în Site Config> Editați site-ul zonă în administrare. Probabil ați văzut deja acest lucru folosit în temă html_head.cfm când vă conectați dinamic la fișierele CSS și JS:

Acest lucru îi spune lui Mura că, indiferent de numele numelui temei, îi apucă calea și localizează /assets/bootstrap/css/bootstrap.css fişier. Acest lucru este util deoarece împiedică ruperea căilor în cazul în care dezvoltatorul a decis vreodată să schimbe numele temei la ceva diferit (de exemplu, numele companiei clientului) în curs de dezvoltare. De exemplu, dacă tema dvs. este "MuraBootstrap3" (care operează cu Mura), calea ar fi SiteID / include / teme / MuraBootstrap3 /

Și dacă dezvoltatorul a schimbat vreodată numele temei la "CompanyABC", atunci calea ar fi: SiteID / include / teme / CompanyABC /

De asemenea, puteți utiliza domeniul de configurare a site-ului pentru a accesa Nume a site-ului, așa cum este introdus în admin:

$ .SiteConfig ( 'site-ul')

Acest lucru este util pentru lucruri precum etichetele titlului sau informațiile din subsol pentru tema dvs..

Afișarea obiectelor

În plus față de preluarea variabilelor de pagină și site, Mura Scope poate afișa și obiecte integrate și personalizate în Mura. 

Afișarea unui formular

$ .dspForm ("Formularul meu")

Afișarea unei componente

Afișarea unei componente este foarte frecventă în dezvoltarea temelor. Acest lucru vă permite să aveți o marcare complexă în șabloanele de aspect și să lăsați doar elementele pe care doriți să le editați de utilizatori să fie editate prin intermediul administratorului. 

# $ .dspComponent ("Numele Componentei") #

Afișarea unui flux

$ .dspFeed ("Feed Name")

Metode personalizate

Așa cum am învățat în tutorialul Metode personalizate, Mura CMS vă permite să adăugați cu ușurință funcții personalizate în tema proprie contentRenderer.cfc și accesați-le prin Mura Scope. Deci, având în vedere următoarea funcție în tema dvs. contentRenderer.cfc:

  

Puteți numi pur și simplu această funcție utilizând Mura Scope:

$ .DspMySlider ()

Mura Scope este un instrument puternic în Mura care poate fi folosit pentru o varietate de cazuri de utilizare în timpul dezvoltării temelor. Vă încurajez să-l folosiți adesea pentru a crea teme robuste.