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.
Î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')
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.
Bună ziua, # $ currentUser ('fname') #
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..
În plus față de preluarea variabilelor de pagină și site, Mura Scope poate afișa și obiecte integrate și personalizate în Mura.
$ .dspForm ("Formularul meu")
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") #
$ .dspFeed ("Feed Name")
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.