Mura CMS Mura Scope

Quando crei i tuoi temi, dovrai accedere a vari valori e oggetti archiviati in Mura CMS per essere pubblicati nella markup del tema o nelle pagine di esempio. Mura Scope è un modo semplice e veloce per accedere a dati e oggetti in Mura CMS. Mura Scope non ti consente solo di accedere ai dati a livello di pagina, ma ti permette anche di accedere a interi oggetti e funzioni! Diamo un'occhiata ad alcuni casi d'uso chiave per il Mura Scope.

Ambito dei contenuti

Nel tutorial sulle estensioni di classe, abbiamo aggiunto alcuni attributi personalizzati a una pagina del libro in Mura e abbiamo emesso quei valori utilizzando un componente. Abbiamo usato Mura Content Scope per accedere al bean di contenuti e recuperare l'attributo che volevamo. La sintassi di base per l'accesso al bean di contenuto è:

$ .Content ( 'someAttribute')

Possiamo usare questa sintassi per accedere a qualsiasi variabile che vogliamo da un nodo di contenuto, inclusi eventuali attributi personalizzati che aggiungiamo:

 $ .Content ( 'title')  $ .Content ( 'sintesi')  $ .Content ( 'crediti')  $ .Content ( 'tipo')  $ .Content ( 'myExtendedAttribute')

Ambito utente corrente

Se il tuo sito è progettato per includere funzionalità basate sull'appartenenza, potresti voler utilizzare il Current User Scope per interagire con l'utente corrente sul sito. 

Rileva se l'utente ha effettuato l'accesso o meno

 Ciao, # $. CurrentUser ('fname') #   

Ambito di configurazione del sito

Questo ambito ti dà la possibilità di accedere a informazioni globali sul tuo sito Mura CMS, in particolare, la maggior parte dei valori che troveresti nel tuo Site Config> Modifica sito area nell'admin. Probabilmente hai già visto questo usato nel tema html_head.cfm quando si collega dinamicamente ai propri file CSS e JS:

Questo dice a Mura che non importa quale sia il nome del tema è chiamato, afferrare il suo percorso e individuare il /assets/bootstrap/css/bootstrap.css file. Ciò è utile perché impedisce che i percorsi vengano interrotti se lo sviluppatore decidesse di cambiare il nome del tema in qualcosa di diverso (ad esempio il nome dell'azienda del cliente) in fase di sviluppo. Ad esempio, se il tuo tema è "MuraBootstrap3" (che viene fornito con Mura), il percorso sarebbe  ID sito / include / themes / MuraBootstrap3 /

E se lo sviluppatore ha mai cambiato il nome del tema in "CompanyABC", il percorso sarebbe quindi:  ID sito / include / themes / CompanyABC /

È anche possibile utilizzare l'ambito di configurazione del sito per accedere a Nome del sito, dato che è inserito nell'amministratore:

$ .SiteConfig ( 'sito')

Questo è utile per cose come tag Title o footer per il tuo tema.

Visualizzazione di oggetti

Oltre a recuperare pagine e variabili del sito, Mura Scope può anche visualizzare interi oggetti personalizzati e personalizzati in Mura. 

Visualizzazione di un modulo

$ .dspForm ('My Form')

Visualizzazione di un componente

La visualizzazione di un componente è molto comune nello sviluppo del tema. Ciò ti consente di avere una marcatura complessa nei tuoi modelli di layout e solo di lasciare che gli elementi che vuoi modificabili dai tuoi utenti siano modificati tramite l'admin. 

# $. dspComponent ('Nome componente') #

Visualizzazione di un feed

$ .dspFeed ('Nome del feed')

Metodi personalizzati

Come abbiamo imparato nell'esercitazione sui metodi personalizzati, Mura CMS ti consente di aggiungere facilmente funzioni personalizzate ai tuoi temi contentRenderer.cfc e accedervi tramite il Mura Scope. Quindi, data la seguente funzione nel tuo tema contentRenderer.cfc:

  

Puoi semplicemente chiamare quella funzione usando il Mura Scope:

$ .DspMySlider ()

Il Mura Scope è un potente strumento di Mura che può essere utilizzato per una varietà di casi d'uso durante lo sviluppo del tema. Vi incoraggio ad usarlo spesso per creare temi robusti.