L'un des avantages du système de gestion de contenu est qu'il stocke toutes les informations de votre site Web dans une base de données unique (comme une feuille de calcul Excel) et vous permet d'accéder facilement à la modification de ces informations dans l'administrateur. Lorsque vous modifiez le titre, le résumé ou le corps du texte d’une page et que vous cliquez sur publier, vous mettez essentiellement à jour cette base de données avec les informations modifiées. Mais que faire si vous souhaitez stocker des informations supplémentaires associées à un type de contenu particulier? Une page de profil, par exemple, peut contenir une structure répétitive d'informations sur cette personne (prénom, nom, titre du travail, etc.). Habituellement, vous avez le choix entre ressaisir toutes les informations à chaque fois ou modifier la base de données (directement ou écrire des scripts personnalisés à cette fin) pour créer des colonnes supplémentaires contenant ces informations. Ensuite, vous devrez modifier l'interface utilisateur pour donner à l'utilisateur des champs de formulaire supplémentaires pour saisir ces informations..
Dans Mura CMS, tout ce processus est simplifié avec l’utilisation de Attributs étendus. Dans l’administrateur Mura, vous pouvez étendre à peu près n’importe quel type de nœud de contenu (page, composant, galerie, dossier, etc.) et ajouter autant de champs que vous le souhaitez, le tout sans toucher à la base de données ni écrire de code..
Dans cet exemple, nous allons créer un nouveau type de page pour un livre. En plus du titre, chaque livre comportera les champs suivants que l'administrateur du contenu devra renseigner:
Auteur
Date de sortie
ISBN
Neuf / Utilisé
Prix
La création d'attributs étendus comprend trois parties:
Extension de classe: Ceci est le nœud de base que vous étendez (page, dossier, galerie, composant, etc.)
Ensemble Attrbute: Un groupement d'attributs étendus, affiché lorsque l'utilisateur modifie du contenu
Attributs étendus: Champs individuels pour les données que vous souhaitez collecter (comme nous avons énuméré ci-dessus).
Créer l'extension de classe
La première étape consiste à créer l'extension de classe. C'est l'objet principal Type et Sous-type qui abritera tous les attributs étendus. Pour créer une nouvelle extension de classe:
À partir de l’administrateur Mura, sélectionnez Configuration du site>Gestionnaire d'extension de classe> Ajouter une extension de classe.
Pour Type de base Sélectionner Page.
Sous Sous-type, type Livre Remarque: Laisser «Sous-type» défini sur «Par défaut» appliquera tous les attributs étendus que vous créez à TOUS les nœuds de contenu de ce type..
Sous Icône, sélectionnez l'icône de livre à associer au sous-type de livre.
Cliquez sur Ajouter.
Ajouter un ensemble d'attributs étendus
Maintenant que vous avez votre extension Page / Book Class, nous devons ajouter quelques attributs étendus pour les éléments dont nous avons besoin pour le livre. Les attributs étendus sont regroupés en ensembles d’attributs, un peu comme un sous forme HTML). Les ensembles d'attributs sont séparés visuellement dans l'administrateur pour permettre une séparation modulaire pour l'utilisateur.
Pour créer un ensemble d'attributs:
Sélectionner Ajouter > Ajouter un ensemble d'attributs.
Entrer Détails du livre pour le Nom du jeu d'attributs. Cet ensemble contiendra tous les détails dont nous avons besoin pour chaque livre..
Pour le Conteneur (onglet), sélectionner De base (vous pouvez sélectionner d'autres onglets dans l'interface utilisateur Mura pour l'organisation)
Cliquez sur Ajouter.
Ajouter des attributs étendus
Une fois votre jeu d’attributs créé, vous pouvez ajouter les attributs étendus individuels. Nous allons commencer par ajouter un champ de texte brut pour l'auteur du livre:
Dans votre Détails du livre Jeu d'attributs, cliquez sur Ajouter un nouvel attribut.
dans le prénom champ, entrez bookAuthor. Remarque: Il est important de nommer la variable en fonction de son sous-type et du nom de l'attribut. Par exemple, si le sous-type est "Livre" et que l'attribut que vous souhaitez ajouter est "titre", utilisez plutôt "productTitle" comme "nom" pour l'attribut. Si vous avez plusieurs attributs étendus personnalisés pour votre site, vous pouvez facilement et accidentellement créer deux (ou plus) attributs étendus avec le même nom.. Ne fais pas ça! De plus, évitez d'utiliser l'un des noms de champs de formulaire standard de Mura. Ceci permet d'éviter les collisions de nom de champ de formulaire, sans quoi vous pourriez vous retrouver involontairement avec deux champs de formulaire avec 'Titre' pour l'attribut name, l'un de Mura, l'autre de votre attribut étendu.
Dans le champ Étiquette, entrez l'étiquette conviviale du champ qui apparaîtra à l'utilisateur..
Pour le Type d'entrée, sélectionner Zone de texte.
Pour Info-bulle, entrez un indice convivial sur ce qui doit être placé dans le champ de saisie. Quelque chose comme "S'il vous plaît entrez le nom de l'auteur du livre" pour vous assurer que les utilisateurs comprennent ce que ce champ signifie.
Votre formulaire complet devrait ressembler à ceci:
Cliquez sur Ajouter
Pour les champs restants, répétez les étapes ci-dessus avec les détails suivants pour chaque champ:
Date de sortie
Prénom: bookReleaseDate
Étiquette: Date de sortie
Type d'entrée: Zone de texte
Info-bulle: Veuillez sélectionner la date de publication du livre
Valider: Date (cela ajoutera un sélecteur de date au champ)
ISBN
Prénom: bookISBN
Étiquette: ISBN
Type d'entrée: Zone de texte
Info-bulle: Veuillez entrer l'ISBN du livre
Neuf / Utilisé
Prénom: bookNewUsed
Étiquette: Neuf ou d'occasion
Type d'entrée: SelectBox
Info-bulle: Veuillez sélectionner si le livre est nouveau ou utilisé
Liste d'options (les valeurs html des éléments de la liste déroulante): neuf ^ utilisé
Liste d'étiquettes d'options (les étiquettes conviviales pour les éléments de la liste déroulante): Nouveau ^ Occasion
Prix
Prénom: bookPrice
Étiquette: Prix $
Type d'entrée: Zone de texte
Info-bulle: S'il vous plaît entrer le prix du livre
Utiliser une extension de classe
Maintenant que vous avez créé tous vos attributs étendus, vous pouvez ajouter un nouveau livre à partir du gestionnaire de site et remplir tous les champs de formulaire que vous venez de créer..
Aller au Gestionnaire de site
À côté de la page d'accueil, survolez le signe (+) et sélectionnez Ajouter du contenu
Sélectionner Dossier
Entrer Livres pour le Titre
Sélectionnez l'onglet Layout & Objects
Sous Autre modèle de disposition pour enfant, sélectionner twoCol_SR.cfm
Cliquez sur Publier
En regard du dossier Livres du Gestionnaire de site, survolez le signe (+) et sélectionnez Ajouter du contenu
Quand le Sélectionnez le type de contenu modal apparaît, vous devriez maintenant voir le Livre type de page, avec l'icône correspondante.
Entrez le titre, le résumé et le contenu du livre
vous devriez voir le Détails du livre Ensemble d'attributs situé sous le champ de contenu de l'onglet Elémentaire (si vous ne le voyez pas, vous avez peut-être sélectionné un autre onglet pour afficher le jeu d'attributs, tel que Attributs étendus). Entrez les informations respectives des livres et cliquez sur Publier
Affichage d'attributs étendus
Lorsque vous visualisez la page, vous remarquerez que vos attributs ne s'affichent pas. C'est parce que nous devons dire à Mura d'afficher ces valeurs sur la page. À présent, il existe plusieurs méthodes pour y parvenir, toutes dépendant du cas d'utilisation et du degré de flexibilité que vous souhaitez offrir à vos utilisateurs pour modifier la mise en page. Dans cet exemple, nous allons créer un composant qui produit les informations souhaitées, de sorte qu'il soit polyvalent à utiliser dans le modèle de page de notre choix..
Créer un nouveau composant
Dans l'admin Mura, cliquez sur aller à Modules> Composants
Sélectionner Ajouter un composant
dans le Titre champ, entrez Détails du livre
Dans la zone de contenu, entrez les informations suivantes: Détails Auteur: [m] $. content ('bookAuthor') [/ m] Date de sortie: [m] dateFormat ($. content ('bookReleaseDate'), 'mm / jj / aa') [/ m] ISBN: [m] $. content ('bookISBN') [/ m] État: [m] $. content ('bookNewUsed') [/ m] Prix: $ [m] $. content ('bookPrice') [/ m]
Remarque: Nous utilisons un formatage simple pour cet exemple, mais vous pouvez baliser et styler cela comme bon vous semble avec CSS.
Cliquez sur Publier
Ajouter le composant aux pages du livre
De retour dans le gestionnaire de site, localisez le Livres dossier (pas le livre lui-même), et cliquez dessus pour le modifier.
Sélectionnez le Mise en page et objets languette
Sous Règles d'héritage, sélectionner Commencer une nouvelle cascade
Sous Objets de contenu, sélectionnez Composants, localisez le Détails du livre composant et l'ajouter à la Colonne de droite région d'affichage.
Cliquez sur Publier
Maintenant, lorsque vous actualisez votre page de livre, vous devriez voir les détails du livre apparaître dans la barre latérale droite..
Emballer
Comme je l'ai déjà mentionné, il ne s'agit que d'un moyen d'afficher les attributs étendus. Vous pouvez également choisir d'incorporer vos attributs étendus dans vos modèles de page ou de composant, où vous pouvez utiliser une logique supplémentaire et empêcher davantage vos utilisateurs de modifier votre balisage..
Si vous souhaitez afficher vos attributs étendus dans un modèle, modifiez simplement le [m] à # par exemple. # $. content ('bookAuthor') #
le [m] Cette balise fait partie de la portée de Mura pour vous permettre d’afficher certaines fonctions de Mura dans l’éditeur de l’administrateur, où les hashtags (#) sont le moyen standard de sortie du contenu dans CFML.
Maintenant que vous avez appris à utiliser les extensions de classe, vous pouvez faire passer vos thèmes Mura à un tout autre niveau en offrant à vos utilisateurs des moyens plus robustes de gérer le contenu de vos thèmes..