Mura CMS Klassförlängningar

En av de stora sakerna om ett CMS är att det lagrar all din webbplatsinformation i en enda databas (som ett Excel-kalkylblad) och ger dig enkel åtkomst till att redigera den informationen i admin. När du redigerar en sidas titel, sammanfattning eller kropps kopia, och klicka på publicera, du uppdaterar faktiskt den databasen med den ändrade informationen. Men vad händer om du vill lagra ytterligare information som är kopplad till en viss innehållstyp? En profilsida kan till exempel innehålla en repetitiv struktur med information om den personen (förnamn, efternamn, jobbtitel, etc.). Traditionellt skulle dina alternativ vara att omskriva all sådan information varje gång, eller du måste antingen ändra databasen (antingen direkt eller skriva några anpassade skript för att göra det för dig) för att skapa ytterligare kolumner för att innehålla den informationen. Då måste du ändra användargränssnittet (användargränssnittet) för att ge användaren ytterligare formulärfält för att mata in den informationen.

I Mura CMS förenklas hela processen med användning av Utökade attribut. I Mura admin kan du utöka nästan vilken typ av innehållsnod som helst (sida, komponent, galleri, mapp osv.) Och lägga till så många extra fält som du vill ha, allt utan att behöva röra databasen eller skriva någon kod. 

I det här exemplet kommer vi att skapa en ny sidtyp för en bok. Förutom titeln kommer varje bok att ha följande fält för innehållsadministratören att fylla i:

  • Författare
  • Utgivningsdatum
  • ISBN
  • Ny / Begagnad
  • Pris

Det finns tre delar som är inblandade i att skapa utökade attribut:

  1. Klassförlängning: Det här är basnoden du sträcker ut (sida, mapp, galleri, komponent, etc.)
  2. Attrbute Set: En gruppering av utökade attribut som visas när användaren redigerar innehåll
  3. Utökade attribut: Enskilda fält för de data du vill samla in (som vi listade ovan).

Skapa klassförlängningen

Det första steget är att skapa klassförlängningen. Detta är huvudobjektet Typ och SubType som kommer att rymma alla de utökade attributen. Så här skapar du en ny klassförlängning:

  1. Från Mura Admin, gå till välj Site Config > Class Extension Manager> Lägg till klassförlängning.

  2. För Bastyp Välj Sida.
  3. Under SubType, typ bok
    Notera: Om du lämnar "SubType" som är inställd på "Standard" tillämpas alla utökade attribut som du skapar till ALLA innehållsnoder av den typen.
  4. Under Ikon, välj bokikonen för att associera med bokens undertyp.

  5. Klick Lägg till.

Lägg till Extended Attribute Set

Nu när du har din Page / Book Class Extension måste vi lägga till några utökade attribut för de saker vi behöver för boken. Utökade attribut grupperas i attributsätt, ungefär som a

i en HTML-form). Attributuppsättningarna separeras visuellt i administratören för att tillåta modulär separation för användaren. 

Så här skapar du en attributsats:

  1. Välj Lägg till > Lägg till attributsätt.
  2. Stiga på Bokdetaljer för Egenskapsinställningsnamn. Den här uppsättningen innehåller alla detaljer vi behöver för varje bok.
  3. För Behållare (flik), Välj Grundläggande (du kan välja alternativa flikar i Mura UI för organisation)

  4. Klick Lägg till.

Lägg till utökade attribut

När du har skapat din attributsats kan du lägga till de enskilda utökade attributen. Vi börjar med att lägga till ett vanligt textfält för bokens författare:

  1. Inom din Bokdetaljer Attribut Set, klicka Lägg till ny egenskap

  2. I namn fält, skriv in bookAuthor.
    Notera: Det är viktigt att namespace variabeln baserat på dess subtyp och attributets namn. Om subtypen till exempel är "Bok" och attributet du vill lägga till är "titel", använd sedan "productTitle" som det aktuella namnet för attributet istället. Om du har flera anpassade utökade attribut för din webbplats kan du enkelt och oavsiktligt bygga två (eller flera) utökade attribut med samma namn. Gör inte det här! Dessutom undviker du att använda någon av Mura standardformulärfältnamn. Det här är för att undvika fältnamnskollisioner, annars kan du oavsiktligt hamna i två formulärfält med titeln för namnetributet, en från Mura, den andra från ditt utökade attribut.
  3. I fältet Etikett anger du användarvänlig etikett för fältet som kommer att visas för användaren.
  4. För Inmatningstyp, Välj Textruta.
  5. För Tooltip, ange en användarvänlig ledtråd om vad som ska gå in i inmatningsfältet. Något som "Vänligen skriv in namnet på vem som skrev boken" för att se till att användarna förstår vad det här fältet betyder.
  6. Din fullständiga blankett ska se ut så här:

  7. Klick Lägg till

För de återstående fälten, upprepa stegen ovan med följande uppgifter för varje fält:

Utgivningsdatum

  • Namn: bookReleaseDate
  • Märka: Utgivningsdatum
  • Inmatningstyp: Textruta
  • Tooltip: Välj det datum boken publicerades
  • Bekräfta: Datum (det här lägger till en datumväljare i fältet)

ISBN

  • Namn: bookISBN
  • Märka: ISBN
  • Inmatningstyp: Textruta
  • Tooltip: Vänligen ange bokens ISBN

Ny / Begagnad

  • Namn: bookNewUsed
  • Märka: Ny eller Använd
  • Inmatningstyp: SelectBox
  • Tooltip: Välj om boken är ny eller använd
  • Alternativlista (html-värdena för objekten i rullgardinsmenyn): nya ^ används
  • Alternativet Label List (de användarvänliga etiketterna för objekten i rullgardinsmenyn): New ^ Begagnade

Pris

  • Namn: bookPrice
  • Märka: Pris $
  • Inmatningstyp: Textruta
  • Tooltip: Vänligen ange pris på boken

Använda en klassförlängning

Nu när du har skapat alla dina utökade attribut kan du lägga till en ny bok från webbplatshanteraren och fylla i alla formulärfälten du just skapat.

  1. Gå till Platschef

  2. Höger bredvid (+) -tecknet bredvid startsidan och välj Lägg till innehåll

  3. Välj Mapp

  4. Stiga på Böcker för Titel
  5. Välj fliken Layout och objekt

  6. Under Alternativ Barn Layout Mall, Välj twoCol_SR.cfm

  7. Klick Publicera
  8. Höger bredvid (+) -tecknet bredvid mappen Böcker i Site Manager och välj Lägg till innehåll


  9. När Välj innehållstyp Modal visas, du borde nu se bok sidtyp, tillsammans med respektive ikon.

  10. Ange bokens titel, sammanfattning och innehåll  

  11. du borde se Bokdetaljer Attribut Ange under innehållsfältet på grundfliken (om du inte ser det där, kan du ha valt en annan flik för att visa egenskapsinställningen på, till exempel Utökade attribut). Ange böckernas respektive information och klicka Publicera

Visar utökade attribut

När du tittar på sidan märker du att dina attribut inte visas. Det beror på att vi måste berätta för Mura att visa dessa värden ut på sidan. Nu finns det flera sätt att uppnå detta, allt beroende på användningsfallet och hur mycket flexibilitet du vill ge användarna att ändra sidlayout. I det här exemplet kommer vi att skapa en komponent som matar ut den information vi vill ha, så att den är mångsidig att använda i vilken sidmall vi väljer. 

Skapa en ny komponent

  1. I Mura admin, klicka på gå till Moduler> Komponenter

  2. Välj Lägg till komponent

  3. I Titel fält, skriv in Bokdetaljer
  4. I innehållsområdet anger du följande:
    detaljer
    Författare: [M] $. Innehåll ( 'bookAuthor') [/ m]
    Utgivningsdatum: [M] dateformat ($. Innehåll ( 'bookReleaseDate'), 'mm / dd / yy') [/ m]
    ISBN: [M] $. Innehåll ( 'bookISBN') [/ m]
    Tillstånd: [M] $. Innehåll ( 'bookNewUsed') [/ m]
    Pris: $ [M] $. Innehåll ( 'bookPrice') [/ m]

    Notera: Vi använder enkel formatering för det här exemplet, men du kan markera och utforma det här men du önskar med CSS.
  5. Klick Publicera

Lägg till komponenten på boksidorna

  1. Tillbaka i webbplatshanteraren, leta reda på Böcker mapp (inte själva boken), och klicka på den för att redigera.

  2. Välj Layout & Objekt flik

  3. Under Arv Regler, Välj Starta ny kaskad

  4. Under Innehållsobjekt, välj Komponenter, leta reda på Bokdetaljer komponent och lägg till den till Höger kolumn visa region.

  5. Klick Publicera

Nu när du uppdaterar boksidan bör du se bokinformationen i höger sidobalk. 

Avslutar

Som jag nämnde tidigare är det bara ett sätt att visa utökade attribut. Du kan också välja att inkludera dina utökade attribut i dina sid- eller komponentsmallar, där du kan använda ytterligare logik och förhindra att dina användare ändrar markeringen. 

Om du vill visa dina utökade attribut i en mall ändrar du bara [M] till # t.ex. # $. Innehåll (bookAuthor) #

De [M] tagg är en del av Mura Scope för att visa vissa Mura-funktioner inom redaktören i admin, där som hashtags (#) är det vanliga sättet att skriva ut innehåll i CFML.

Nu när du har lärt dig hur du använder klassförlängningar kan du ta dina Mura-teman till en helt ny nivå genom att ge dina användare mer robusta sätt att hantera innehållet i dina teman.