Mura CMS Extensii de clasă

Unul dintre marile lucruri despre un CMS este că stochează toate informațiile site-ului dvs. într-o singură bază de date (ca o foaie de calcul Excel) și vă oferă acces ușor pentru a edita acele informații în admin. Când editați titlul, rezumatul sau copia de corp a unei pagini, faceți clic pe publica, actualizați în esență acea bază de date cu informațiile modificate. Dar dacă doriți să stocați informații suplimentare asociate unui anumit tip de conținut? O pagină de profil, de exemplu, ar putea să conțină o structură repetitivă de informații despre acea persoană (Prenume, Nume, Titlul postului etc.). În mod tradițional, opțiunile dvs. ar fi să reintroduceți toate aceste informații de fiecare dată sau ar trebui fie să modificați baza de date (fie direct, fie să scrieți câteva scripturi personalizate pentru a face acest lucru pentru dvs.) pentru a crea coloane suplimentare pentru a conține aceste informații. Apoi va trebui să modificați interfața cu utilizatorul (UI) pentru a da utilizatorului câmpuri de formular suplimentare pentru a introduce aceste informații.

În Mura CMS, întregul proces este simplificat prin utilizarea lui Atributele extinsă. În adminul Mura, puteți extinde aproape orice tip de nod de conținut (pagină, component, galerie, folder etc.) și adăugați cât mai multe câmpuri suplimentare pe care le doriți, toate fără a fi nevoie să atingeți baza de date sau să scrieți vreun cod. 

În acest exemplu, vom crea un nou tip de pagină pentru o carte. În plus față de titlu, fiecare carte va conține următoarele câmpuri pentru ca administratorul de conținut să completeze:

  • Autor
  • Data eliberării
  • ISBN
  • Nou / Folosit
  • Preț

Există trei părți implicate în crearea atributelor extinse:

  1. Extensia clasei: Acesta este nodul de bază pe care îl extindeți (Pagina, Folder, Galerie, Componenta etc.)
  2. Set de Attrbute: O grupare de Atribute Extinse, afișată când utilizatorul editează conținut
  3. Atributele extins: Câmpurile individuale pentru datele pe care doriți să le colectați (cum am enumerat mai sus).

Creați extensia de clasă

Primul pas este să creați Extensia de clasă. Acesta este obiectul principal Tip și Subtip care va găzdui toate atributele extinse. Pentru a crea o nouă extensie de clasă:

  1. Din administratorul Mura, alegeți Site Config > Manager de extensii de clasă> Adăugați extinderea clasei.

  2. Pentru Tip de bază Selectați Pagină.
  3. Sub Subtip, tip Carte
    Notă: Lăsând "SubType" setat la "Implicit" se vor aplica toate atributele extinse pe care le creați la TOATE nodurile de conținut de acel tip.
  4. Sub icoană, selectați pictograma pentru a asocia cu subtipul de carte.

  5. Clic Adăuga.

Adăugați setul de atribute extins

Acum, dacă aveți Extensia Clasa Page / Book, trebuie să adăugăm câteva Atribute Extinse pentru elementele de care avem nevoie pentru carte. Atributele extinsă sunt grupate în seturi de atribute, asemănătoare cu a

într-o formă HTML). Seturile de atribute sunt separate vizibil în admin pentru a permite separarea modulară pentru utilizator. 

Pentru a crea un set de atribute:

  1. Selectați Adăuga > Adăugați setul de atribute.
  2. introduce Detalii carte pentru Numele setului de atribute. Acest set va conține toate detaliile de care avem nevoie pentru fiecare carte.
  3. Pentru Container (Tab), Selectați De bază (puteți selecta filele alternative din UI Mura pentru organizare)

  4. Clic Adăuga.

Adăugați atribute extinsă

După ce ați creat setul de atribute, puteți adăuga atributele individuale extinse. Vom începe prin adăugarea unui câmp de text simplu pentru autorul cărții:

  1. În interiorul dvs. Detalii carte Set de atribute, faceți clic pe Adăugați un atribut nou

  2. În Nume câmp, introduceți bookAuthor.
    Notă: Este important să numește variabila pe baza subtipului și a atributului său. De exemplu, dacă subtipul este "Cartea" și atributul pe care doriți să-l adăugați este "titlu", atunci utilizați "productTitle" ca nume real pentru acest atribut. Dacă aveți mai multe atribute extinse personalizate pentru site-ul dvs., puteți construi cu ușurință și accidental două (sau mai multe) atribute extinse cu același nume. Nu face asta! În plus, evitați folosirea oricărui nume de câmp standard al lui Mura. Aceasta este pentru a evita coliziuni de nume de câmpuri, altfel ați putea ajunge neintenționat la două câmpuri de formular cu "Titlu" pentru atributul name, unul de la Mura, celălalt din atributul dvs. extins.
  3. În câmpul Etichetă, introduceți eticheta prietenoasă pentru câmpul care va apărea utilizatorului.
  4. Pentru Tip de introducere, Selectați Casetă de text.
  5. Pentru tooltip, introduceți un indiciu prietenos despre ceea ce ar trebui să meargă în câmpul de introducere. Ceva ca "Introduceți numele cărții care a scris cartea" pentru a vă asigura că utilizatorii înțeleg ce înseamnă acest câmp.
  6. Formularul dvs. complet ar trebui să arate astfel:

  7. Clic Adăuga

Pentru câmpurile rămase, repetați pașii de mai sus cu următoarele detalii pentru fiecare câmp:

Data eliberării

  • Nume: bookReleaseDate
  • Eticheta: Data eliberării
  • Tip de introducere: Casetă de text
  • tooltip: Selectați data la care a fost publicată cartea
  • Valida: Data (aceasta va adăuga un selector de date la câmp)

ISBN

  • Nume: bookISBN
  • Eticheta: ISBN
  • Tip de introducere: Casetă de text
  • tooltip: Introduceți codul ISBN al cărții

Nou / Folosit

  • Nume: bookNewUsed
  • Eticheta: Nou sau folosit
  • Tip de introducere: SelectBox
  • tooltip: Selectați dacă cartea este nouă sau utilizată
  • Listă opțiuni (valorile html pentru elementele din lista derulantă): noi ^ folosite
  • Listă de etichete de opțiuni (etichetele prietenoase utilizatorilor pentru elementele din lista derulantă): Nou ^ folosit

Preț

  • Nume: bookPrice
  • Eticheta: Preț $
  • Tip de introducere: Casetă de text
  • tooltip: Introduceți prețul cărții

Utilizând o extensie de clasă

Acum că ați creat toate atributele dvs. extinse, puteți adăuga o carte nouă de la administratorul site-ului și completați toate câmpurile de formular pe care tocmai le-ați creat.

  1. Mergeți la Site Manager

  2. Lângă pagina principală, plasați cursorul peste semnul (+) și selectați Adauga continut

  3. Selectați Pliant

  4. introduce Cărți pentru Titlu
  5. Selectați fila Layout și obiecte

  6. Sub Șablon alternativ pentru aspectul copilului, Selectați twoCol_SR.cfm

  7. Clic Publica
  8. Lângă folderul Cărți din Managerul site-ului, plasați cursorul peste semnul (+) și selectați Adauga continut


  9. Cand Selectați tipul de conținut modal, ar trebui să vedeți acum Carte tip de pagină, împreună cu pictograma respectivă.

  10. Introduceți titlul, rezumatul și conținutul cărții  

  11. ar trebui să vedeți Detalii carte Atributul este setat sub câmpul de conținut de pe fila de bază (dacă nu îl vedeți acolo, este posibil să fi selectat o filă diferită pentru a afișa setul de atribute, cum ar fi Atributele extinsă). Introduceți informațiile respective ale cărților și dați clic pe Publica

Afișarea atributelor extinse

Când vizualizați pagina, veți observa că atributele dvs. nu apar. Asta pentru că trebuie să-i spunem lui Mura să afișeze aceste valori pe pagină. Acum, există mai multe modalități de a realiza acest lucru, toate în funcție de modul de utilizare și de flexibilitatea pe care doriți să o oferi utilizatorilor dvs. pentru a schimba aspectul paginii. În acest exemplu, vom crea o componentă care transmite informațiile dorite, astfel încât să fie versatilă pentru a fi utilizate în orice șablon de pagină pe care îl alegem. 

Creați o componentă nouă

  1. În administratorul Mura, faceți clic pe Du-te la Module> Componente

  2. Selectați Adăugați componenta

  3. În Titlu câmp, introduceți Detalii carte
  4. În zona de conținut, introduceți următoarele:
    Detalii
    Autor: [M] $. Conținutul ( 'bookAuthor') [/ m]
    Data eliberării: [M] Dateformat ($. Conținutul ( 'bookReleaseDate'), 'dd / mm / yy') [/ m]
    ISBN: [M] $. Conținutul ( 'bookISBN') [/ m]
    Condiție: [M] $. Conținutul ( 'bookNewUsed') [/ m]
    Preț: $ [M] $. Conținutul ( 'bookPrice') [/ m]

    Notă: Folosim formatarea simplă pentru acest exemplu, cu toate acestea, puteți să marcați și să stilizați acest lucru oricum doriți cu CSS.
  5. Clic Publica

Adăugați componenta la paginile cărții

  1. Înapoi în Manager site, localizați Cărți (nu și cartea însăși) și faceți clic pe ea pentru a le edita.

  2. Selectează Aspect și obiecte fila

  3. Sub Reguli de moștenire, Selectați Începeți cascada nouă

  4. Sub Obiecte de conținut, selectați Componente, localizați Detalii carte și adăugați-l la Coloana corectă regiunea de afișare.

  5. Clic Publica

Acum, când actualizați pagina de carte, ar trebui să vedeți detaliile cărții care apar în bara laterală dreaptă. 

Înfășurarea în sus

Așa cum am menționat mai înainte, aceasta este doar o modalitate de a afișa atributele extinsă. De asemenea, puteți alege să includeți atributele dvs. extinse în șabloanele de pagină sau componente, unde puteți utiliza logica suplimentară și puteți împiedica utilizatorii să modifice marcajul. 

Dacă doriți să afișați atributele extinse într-un șablon, schimbați pur și simplu [M] la # de exemplu. # $. Conținutul ( 'bookAuthor') #

[M] tag-ul face parte din Mura Scope pentru a vă permite să afișați anumite funcții Mura în cadrul editorului din admin, unde în calitate de hashtags (#) sunt modalitatea standard de a transmite conținutul în CFML.

Acum că ați învățat cum să utilizați Extensiile de clasă, puteți să vă dați temele Mura la un nivel complet nou, oferindu-le utilizatorilor mai multe modalități robuste de a gestiona conținutul temelor dvs..