Mura CMS Portée de Mura

Lorsque vous créez vos thèmes, vous devez accéder à divers valeurs et objets stockés dans Mura CMS pour les afficher dans votre balisage de thème ou dans des exemples de pages. Mura Scope est un moyen rapide et simple d’accéder aux données et aux objets contenus dans Mura CMS. Mura Scope vous permet non seulement d'accéder à des données au niveau de la page, mais également d'accéder à des objets et à des fonctions entiers! Jetons un coup d'oeil à quelques cas d'utilisation clés pour le Scope Mura.

Portée du contenu

Dans le tutoriel Extensions de classe, nous avons ajouté des attributs personnalisés à une page de livre dans Mura et avons généré ces valeurs à l'aide d'un composant. Nous avons utilisé Mura Content Scope pour accéder au bean de contenu et récupérer l'attribut souhaité. La syntaxe de base pour accéder au bean de contenu est la suivante:

$ .content ('someAttribute')

Nous pouvons utiliser cette syntaxe pour accéder à toute variable souhaitée depuis un nœud de contenu, y compris tous les attributs personnalisés que nous ajoutons:

 $ .content ('title')  $ .content ('summary')  $ .content ('crédits')  $ .content ('type')  $ .content ('myExtendedAttribute')

Portée de l'utilisateur actuel

Si votre site est conçu pour inclure des fonctionnalités basées sur l'appartenance, vous pouvez utiliser l'étendue de l'utilisateur actuel pour interagir avec l'utilisateur actuel du site.. 

Détecter si l'utilisateur est connecté ou non

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

Portée de la configuration du site

Cette portée vous donne la possibilité d'accéder à des informations globales sur votre site Mura CMS, plus précisément à la plupart des valeurs que vous trouverez dans votre Configuration du site> Modifier le site zone dans l'admin. Vous avez probablement déjà vu cela utilisé dans le thème html_head.cfm lors de la liaison dynamique à vos fichiers CSS et JS:

Cela indique à Mura que peu importe le nom du thème, récupérez son chemin et localisez le /assets/bootstrap/css/bootstrap.css fichier. Cela est utile car cela empêche les chemins d'être cassés si le développeur décidait de changer le nom du thème en un nom différent (par exemple, le nom de l'entreprise du client) en cours de développement. Par exemple, si votre thème est "MuraBootstrap3" (livré avec Mura), le chemin sera siteID / includes / themes / MuraBootstrap3 /

Et si le développeur changeait le nom du thème en 'CompanyABC', le chemin serait alors: siteID / includes / themes / CompanyABC /

Vous pouvez également utiliser la portée de configuration de site pour accéder à la prénom du site, tel qu'il est entré dans l'admin:

$ .siteConfig ('site')

Ceci est utile pour des choses comme les balises de titre ou les informations de bas de page pour votre thème..

Affichage d'objets

En plus de récupérer des variables de page et de site, le périmètre Mura peut également afficher des objets entiers intégrés et personnalisés dans Mura.. 

Affichage d'un formulaire

$ .dspForm ('Mon formulaire')

Affichage d'un composant

L'affichage d'un composant est très courant dans le développement de thèmes. Cela vous permet d’avoir un balisage complexe dans vos modèles de présentation et de ne modifier que les éléments que vous souhaitez modifier par vos utilisateurs via l’administrateur.. 

# $. dspComponent ('Nom du composant') #

Affichage d'un flux

$ .dspFeed ('Nom du fil')

Méthodes Personnalisées

Comme nous l’avons appris dans le didacticiel Méthodes personnalisées, Mura CMS vous permet d’ajouter facilement des fonctions personnalisées à votre thème. contentRenderer.cfc et y accéder via le Scope Mura. Donc, étant donné la fonction suivante dans votre thème contentRenderer.cfc:

  

Vous pouvez simplement appeler cette fonction en utilisant le Scope Mura:

$ .dspMySlider ()

Mura Scope est un outil puissant de Mura qui peut être utilisé pour une variété de cas d'utilisation pendant le développement de votre thème. Je vous encourage à l'utiliser souvent pour créer des thèmes robustes.