Mura CMS Variables de modèle

Lors de la création de vos thèmes, vous souhaiterez importer du contenu dynamique de votre site Mura pour afficher des méta-informations, des titres, des corps, etc. Pour les variables de niveau page, vous devez accéder à la contenu portée pour cette page. Ceci est fait en utilisant $ .content ('nomVariable'). Par exemple, si vous voulez la méta description de la page, vous y accéderez comme suit:

# $. content ('metaDesc') #

La balise complète dans votre html_head.cfm ressemblerait à ceci:

Pour plus d'informations sur l'ensemble du site, tel que le nom du site, utilisez le siteConfig portée:

# $. siteConfig ('nomVariable') #

Par exemple, si vous souhaitez afficher le titre de votre page ainsi que le nom du site dans la balise de titre de votre modèle, procédez comme suit:

#HTMLEditFormat ($. Content ('HTMLTitle') # # - #HTMLEditFormat ($. SiteConfig ('site')) #

Pointe: HTMLEditFormat () remplace les caractères spéciaux (<, >, Et, ") dans une chaîne avec leurs équivalents échappés en HTML. Par exemple, il remplacerait < avec <

Dumping des variables disponibles

Si vous voulez voir toutes les valeurs disponibles pour le contenu et votre site, placez le code suivant dans l'un de vos modèles de page et exécutez la page:

Variables de contenu

Variables de site

Chaque élément de la colonne de gauche peut être passé dans leur champ respectif. Par exemple:

# $. content ('metaKeywords') #

et

# $. siteConfig ('domaine') #

Affichage conditionnel des valeurs

Parfois, vous voudrez peut-être ne générer une balise que si une valeur a été entrée dans le champ. Par exemple, si vous voulez sortir l'auteur de la page, vous pouvez faire quelque chose comme ceci:

Écrit par: # $. contenu ('crédits') #

Toutefois, si aucun auteur n’a été inscrit sur cette page en particulier dans le champ "Crédits", votre page restituera simplement le résultat. Écrit par:

Pour éviter cela, nous pouvons utiliser un peu de logique CFML:

 Écrit par: # $. contenu ('crédits') # 

le len (abrégé pour 'longueur') la fonction dans CFML détermine la longueur d'une variable. Si vrai (c’est-à-dire qu’il y a effectivement une valeur dans le champ), il va aller de l'avant et afficher votre balisage. Sinon, il sera simplement ignoré et ne produira rien.

Nav primaire

Mura a une fonction intégrée qui prend automatiquement toutes les pages de haut niveau de votre gestionnaire de site et les affiche dans une liste de navigation:

# $. dspPrimaryNav () #

le $ .dspPrimaryNav () La fonction s’affiche dans l’ordre que vous avez configuré dans votre gestionnaire de site. Éléments dont l'affichage est défini sur Non ou le jeu de navigation à Non ne sera pas affiché dans votre navigateur principal. 

Vous pouvez passer plusieurs arguments dans cette fonction pour contrôler divers aspects de votre sortie de navigation:

#Nly, = ", aCurrentAttributes =", ulNestedClass = ", ulNestedAttributes =", aNotCurrentClass = ", siteid = $. event (" siteid ')) #

Une liste complète de ces arguments et leurs descriptions sont disponibles dans la documentation Mura.

La sortie par défaut de la navigation principale est une simple liste non ordonnée (

    ):

    Cependant, en ajoutant des balises supplémentaires autour du nav et en ajustant certains des arguments, vous pouvez rapidement les attribuer à n'importe quel thème CSS:

    Cache & Performance

    Il est recommandé d’envelopper votre code de navigation principal dans le tag pour augmenter les performances sur votre site. le cf_CacheOMatic tag peut être utilisé pour mettre en cache des éléments moins fréquemment mis à jour qui ont une surcharge de serveur d’application. Il est utilisé conjointement avec le Caching option sous Configuration du site> Modifier le site. le cf_CacheOMatic La balise ne cache rien, sauf si la mise en cache du site est activée. Le préfixe de l'attribut "key" (dans ce cas, dspPrimaryNav) peut être utilisé pour donner du contexte à la variable unique, # $. content ('contentid') #, créé pour l'élément mis en cache.

    Votre Primay Nav complet ressemblerait à ceci:

     # $. dspPrimaryNav (…) # 

    Titre de la page, corps et image principale

    Pour sortir le titre de la page, le corps et l’image associée, vous voudrez utiliser le $ .dspBody () tag, et spécifiez ces éléments:

    # $. dspBody (body = $. content ('body'), pageTitle = $. content ('title'), showMetaImage = 1) #

    Cela va automatiquement sortir ces éléments ensemble sur la page rendue. Si vous devez séparer le titre de la page ou le supprimer complètement, vous pouvez également le faire:

    #HTMLEditFormat ($. Content ('title')) #

    # $. dspBody (body = $. content ('body'), pageTitle = ", showMetaImage = 1) #

    $ .dspBody () est une fonction spéciale dans Mura qui alimente d’autres fonctionnalités telles que les pages protégées par mot de passe, la sortie de dossiers, etc. Il est recommandé d’utiliser $ .dspBody () pour afficher le corps dans vos modèles afin de vous assurer que ces types de fonctionnalités continueront à fonctionner correctement. 

    Chapelure

    Enfin, vous pouvez utiliser la fonction intégrée de Mura pour sortir le fil d'Ariane de la page comme ceci:

    # $. dspCrumbListLinks () #

    Comme vous pouvez le constater, l’utilisation de variables de modèle est un excellent moyen d’inclure rapidement du contenu dynamique dans vos modèles de thème..