Una delle grandi cose di un CMS è che memorizza tutte le informazioni del tuo sito web in un singolo database (come un foglio di calcolo di Excel) e ti dà un facile accesso per modificare tali informazioni nell'amministratore. Quando modifichi il titolo, il sommario o la copia del corpo di una pagina, e fai clic su pubblicare, stai essenzialmente aggiornando quel database con le informazioni modificate. Ma cosa succede se si desidera memorizzare ulteriori informazioni associate a un particolare tipo di contenuto? Una pagina del profilo, ad esempio, potrebbe contenere una struttura ripetitiva di informazioni su quella persona (Nome, Cognome, Titolo del lavoro, ecc.). Tradizionalmente, le tue opzioni consistevano nel ridigitare tutte queste informazioni ogni volta, oppure dovresti modificare il database (direttamente o scrivere degli script personalizzati per farlo tu) per creare colonne aggiuntive per contenere tali informazioni. Quindi dovresti modificare l'interfaccia utente (UI) per fornire all'utente campi aggiuntivi per l'inserimento di tali informazioni.
In Mura CMS, l'intero processo è semplificato con l'uso di Attributi estesi. Nell'amministratore di Mura, puoi estendere praticamente qualsiasi tipo di nodo di contenuto (Pagina, Componente, Galleria, Cartella, ecc.) E aggiungere tutti i campi aggiuntivi che desideri, il tutto senza dover toccare il database o scrivere alcun codice.
In questo esempio, creeremo un nuovo tipo di pagina per un libro. Oltre al titolo, ogni libro avrà i seguenti campi da compilare per l'amministratore dei contenuti:
Autore
Data di rilascio
ISBN
Nuovo / Usato
Prezzo
Ci sono tre parti coinvolte nella Creazione di attributi estesi:
Estensione di classe: Questo è il nodo base che stai estendendo (pagina, cartella, galleria, componente, ecc.)
Set attrito: Un raggruppamento di attributi estesi, mostrato quando l'utente sta modificando il contenuto
Attributi estesi: Singoli campi per i dati che vuoi raccogliere (come abbiamo elencato sopra).
Crea l'estensione di classe
Il primo passo è creare l'estensione di classe. Questo è l'oggetto principale genere e SubType che ospiterà tutti gli attributi estesi. Per creare una nuova estensione di classe:
Da Mura Admin, vai a selezionare Site Config>Class Extension Manager> Aggiungi estensione di classe.
Per Tipo base Selezionare Pagina.
Sotto SubType, genere Libro Nota: Se si lascia "Sottotipo" impostato su "Predefinito", verranno applicati tutti gli attributi estesi creati a TUTTI i nodi di contenuto di quel tipo.
Sotto Icona, seleziona l'icona del libro da associare al sottotipo Libro.
Clic Inserisci.
Aggiungi set di attributi estesi
Ora che hai la tua estensione di pagina / Book, dobbiamo aggiungere alcuni attributi estesi per gli elementi di cui abbiamo bisogno per il libro. Gli attributi estesi sono raggruppati in Set di attributi, molto simile a a in un modulo HTML). I set di attributi sono separati visivamente nell'amministratore per consentire la separazione modulare per l'utente.
Per creare un set di attributi:
Selezionare Inserisci > Aggiungi set di attributi.
accedere Dettagli del libro per il Nome set attributo. Questo set conterrà tutti i dettagli di cui abbiamo bisogno per ogni libro.
Per il Contenitore (scheda), selezionare Di base (puoi selezionare le schede alternative nell'interfaccia utente di Mura per l'organizzazione)
Clic Inserisci.
Aggiungi attributi estesi
Una volta creato il set di attributi, è possibile aggiungere i singoli attributi estesi. Inizieremo aggiungendo un campo di testo semplice per l'autore del libro:
Dentro il tuo Dettagli del libro Set di attributi, fare clic Aggiungi un nuovo attributo.
Nel Nome campo, immettere bookAuthor. Nota: È importante assegnare un nome alla variabile in base al sottotipo e al nome dell'attributo. Ad esempio, se il sottotipo è "Libro" e l'attributo che desideri aggiungere è "titolo", utilizza "productTitle" come "nome" effettivo per l'attributo. Se disponi di numerosi attributi estesi personalizzati per il tuo sito, potresti facilmente e accidentalmente creare due (o più) attributi estesi con lo stesso nome. Non farlo! Inoltre, evitare di utilizzare i nomi dei campi dei moduli standard di Mura. Questo serve per evitare le collisioni dei nomi dei campi del modulo, altrimenti potresti finire involontariamente con due campi modulo con 'Titolo' per l'attributo nome, uno da Mura, l'altro dall'attributo esteso.
Nel campo Etichetta, inserisci l'etichetta user-friendly per il campo che apparirà all'utente.
Per il Tipo di input, selezionare Casella di testo.
Per tooltip, inserire un suggerimento intuitivo su cosa dovrebbe andare nel campo di input. Qualcosa come "Si prega di inserire il nome di chi ha scritto il libro" per assicurarsi che gli utenti capiscano cosa significa quel campo.
Il tuo modulo completo dovrebbe assomigliare a questo:
Clic Inserisci
Per i campi rimanenti, ripetere i passaggi precedenti con i seguenti dettagli per ciascun campo:
Data di rilascio
Nome: bookReleaseDate
Etichetta: Data di rilascio
Tipo di input: Casella di testo
Descrizione comando: Si prega di selezionare la data di pubblicazione del libro
Convalidare: Data (questo aggiungerà un selezionatore di date al campo)
ISBN
Nome: bookISBN
Etichetta: ISBN
Tipo di input: Casella di testo
Descrizione comando: Si prega di inserire il codice ISBN del libro
Nuovo / Usato
Nome: bookNewUsed
Etichetta: Nuovo o Usato
Tipo di input: selectbox
Descrizione comando: Si prega di selezionare se il libro è nuovo o utilizzato
Elenco opzioni (i valori html per gli elementi nell'elenco a discesa): nuova ^ usati
Elenco etichette opzioni (le etichette user-friendly per gli articoli nell'elenco a discesa): Nuovo ^ Usato
Prezzo
Nome: bookPrice
Etichetta: Prezzo $
Tipo di input: Casella di testo
Descrizione comando: Si prega di inserire il prezzo del libro
Utilizzando un'estensione di classe
Ora che hai creato tutti gli attributi estesi, puoi aggiungere un nuovo libro dal gestore del sito e compilare tutti i campi del modulo appena creati.
Vai al Gestore del sito
Accanto alla Pagina iniziale, passa con il mouse sopra il segno (+) e seleziona Aggiungi contenuto
Selezionare Cartella
accedere Libri per il Titolo
Seleziona la scheda Layout e oggetti
Sotto Modello di layout secondario alternativo, selezionare twoCol_SR.cfm
Clic Pubblicare
Accanto alla cartella Libri nel Gestore siti, passa con il mouse sopra il segno (+) e seleziona Aggiungi contenuto
Quando il Seleziona il tipo di contenuto appare modale, ora dovresti vedere il Libro tipo di pagina, insieme alla rispettiva icona.
Inserisci il titolo, il sommario e il contenuto del libro
dovresti vedere il Dettagli del libro Attributo Impostato sotto il campo del contenuto nella scheda Base (se non lo vedi lì, potresti aver selezionato una scheda diversa per visualizzare l'insieme di attributi, come Attributi estesi). Inserisci le rispettive informazioni dei libri e clicca Pubblicare
Visualizzazione degli attributi estesi
Quando visualizzi la pagina, noterai che i tuoi attributi non vengono visualizzati. Questo perché abbiamo bisogno di dire a Mura di mostrare quei valori nella pagina. Ora, ci sono diversi modi per farlo, a seconda del caso d'uso e di quanta flessibilità vuoi dare ai tuoi utenti per cambiare il layout della pagina. In questo esempio, creeremo un componente che emette le informazioni che vogliamo, in modo che sia versatile da usare in qualsiasi modello di pagina che scegliamo.
Crea un nuovo componente
Nell'amministratore di Mura, fai clic su vai a Moduli> Componenti
Nota: Stiamo usando una semplice formattazione per questo esempio, tuttavia è possibile eseguire il markup e lo stile di ciò che si desidera con i CSS.
Clic Pubblicare
Aggiungi il componente alle pagine del libro
Di nuovo nel gestore del sito, individuare il Libri cartella (non il libro stesso) e fare clic su di esso per modificare.
Seleziona il Layout e oggetti linguetta
Sotto Regole di successione, selezionare Inizia New Cascade
Sotto Oggetti di contenuto, selezionare Componenti, individuare il Dettagli del libro componente e aggiungerlo al Colonna destra mostra la regione.
Clic Pubblicare
Ora quando aggiorni la pagina del tuo libro, dovresti vedere i dettagli del libro apparire nella barra laterale di destra.
Avvolgendo
Come ho detto prima, questo è solo un modo per visualizzare gli attributi estesi. È inoltre possibile scegliere di incorporare gli attributi estesi nella pagina o nei modelli di componenti, in cui è possibile utilizzare una logica aggiuntiva e impedire inoltre agli utenti di modificare il markup.
Se desideri visualizzare i tuoi attributi estesi in un modello, cambia semplicemente [M] a # per esempio. # $. Contenuti ( 'bookAuthor') #
Il [M] tag fa parte di Mura Scope per consentire di visualizzare alcune funzioni di Mura all'interno dell'editor nell'admin, dove come hashtag (#) sono il modo standard per l'output di contenuti in CFML.
Ora che hai imparato a utilizzare le estensioni di classe, puoi portare i tuoi temi di Mura a un livello completamente nuovo offrendo ai tuoi utenti modi più efficaci per gestire i contenuti nei tuoi temi.