Mura CMS Estensioni di classe

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:

  1. Estensione di classe: Questo è il nodo base che stai estendendo (pagina, cartella, galleria, componente, ecc.)
  2. Set attrito: Un raggruppamento di attributi estesi, mostrato quando l'utente sta modificando il contenuto
  3. 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:

  1. Da Mura Admin, vai a selezionare Site Config > Class Extension Manager> Aggiungi estensione di classe.

  2. Per Tipo base Selezionare Pagina.
  3. 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.
  4. Sotto Icona, seleziona l'icona del libro da associare al sottotipo Libro.

  5. 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:

  1. Selezionare Inserisci > Aggiungi set di attributi.
  2. accedere Dettagli del libro per il Nome set attributo. Questo set conterrà tutti i dettagli di cui abbiamo bisogno per ogni libro.
  3. Per il Contenitore (scheda), selezionare Di base (puoi selezionare le schede alternative nell'interfaccia utente di Mura per l'organizzazione)

  4. 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:

  1. Dentro il tuo Dettagli del libro Set di attributi, fare clic Aggiungi un nuovo attributo

  2. 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.
  3. Nel campo Etichetta, inserisci l'etichetta user-friendly per il campo che apparirà all'utente.
  4. Per il Tipo di input, selezionare Casella di testo.
  5. 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.
  6. Il tuo modulo completo dovrebbe assomigliare a questo:

  7. 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.

  1. Vai al Gestore del sito

  2. Accanto alla Pagina iniziale, passa con il mouse sopra il segno (+) e seleziona Aggiungi contenuto

  3. Selezionare Cartella

  4. accedere Libri per il Titolo
  5. Seleziona la scheda Layout e oggetti

  6. Sotto Modello di layout secondario alternativo, selezionare twoCol_SR.cfm

  7. Clic Pubblicare
  8. Accanto alla cartella Libri nel Gestore siti, passa con il mouse sopra il segno (+) e seleziona Aggiungi contenuto


  9. Quando il Seleziona il tipo di contenuto appare modale, ora dovresti vedere il Libro tipo di pagina, insieme alla rispettiva icona.

  10. Inserisci il titolo, il sommario e il contenuto del libro  

  11. 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

  1. Nell'amministratore di Mura, fai clic su vai a Moduli> Componenti

  2. Selezionare Aggiungi componente

  3. Nel Titolo campo, immettere Dettagli del libro
  4. Nell'area del contenuto, inserisci quanto segue:
    Dettagli
    Autore: [M] $ content. ( 'BookAuthor') [/ m]
    Data di rilascio: [M] dateFormat ($. Contenuti ( 'bookReleaseDate'), 'mm / gg / aa') [/ m]
    ISBN: [M] $ content. ( 'BookISBN') [/ m]
    Condizione: [M] $. Contenuti ( 'bookNewUsed') [/ m]
    Prezzo: $ [M] $ content. ( 'BookPrice') [/ m]

    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.
  5. Clic Pubblicare

Aggiungi il componente alle pagine del libro

  1. Di nuovo nel gestore del sito, individuare il Libri cartella (non il libro stesso) e fare clic su di esso per modificare.

  2. Seleziona il Layout e oggetti linguetta

  3. Sotto Regole di successione, selezionare Inizia New Cascade

  4. Sotto Oggetti di contenuto, selezionare Componenti, individuare il Dettagli del libro componente e aggiungerlo al Colonna destra mostra la regione.

  5. 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.