Mura CMS Klasseforlengelser

En av de store tingene med et CMS er at det lagrer all din nettsideinformasjon i en enkelt database (som et Excel-regneark), og gir deg enkel tilgang til å redigere den informasjonen i administrasjonen. Når du redigerer en side tittel, sammendrag eller kropps kopi, og klikk publisere, Du oppdaterer i hovedsak databasen med den endrede informasjonen. Men hva om du vil lagre tilleggsinformasjon knyttet til en bestemt innholdstype? En profilside kan for eksempel inneholde en gjentakende struktur av informasjon om den personen (Fornavn, Etternavn, Jobbtittel, osv.). Tradisjonelt vil alternativene være å re-skrive all den informasjonen hver gang, eller du må enten endre databasen (enten direkte eller skrive noen tilpassede skript for å gjøre det for deg) for å lage flere kolonner for å inneholde den informasjonen. Da må du endre brukergrensesnittet (brukergrensesnittet) for å gi brukeren tilleggsskjemafelter for å legge inn den informasjonen.

I Mura CMS blir hele prosessen forenklet med bruk av Utvidede attributter. I Mura-administratoren kan du strekke seg omtrent hvilken som helst innholdsnodetype (side, komponent, galleri, mappe osv.) Og legge til så mange ekstra felt du vil ha, alt uten å måtte trykke på databasen eller skrive noen kode. 

I dette eksemplet skal vi lage en ny sidetype for en bok. I tillegg til tittelen vil hver bok ha følgende felt for innholdsadministratoren å fylle ut:

  • Forfatter
  • Utgivelsesdato
  • ISBN
  • Ny / Brukt
  • Pris

Det er tre deler involvert i å skape utvidede attributter:

  1. Klasseforlengelse: Dette er basenoden du utvider (side, mappe, galleri, komponent osv.)
  2. Attrbute Set: En gruppering av utvidede attributter, vist når brukeren redigerer innhold
  3. Utvidede attributter: Individuelle felt for dataene du vil samle inn (som vi er oppført ovenfor).

Opprett klasseutvidelsen

Det første trinnet er å opprette klasseutvidelsen. Dette er hovedobjektet Type og SubType som vil huse alle de utvidede attributter. Slik oppretter du en ny klasseutvidelse:

  1. Fra Mura Admin, gå til å velge Site Config > Class Extension Manager> Legg til klasseforlengelse.

  2. Til Base Type Å velge Side.
  3. Under SubType, type Bok
    Merk: Hvis du forlater "SubType" satt til "Standard", brukes alle utvidede attributter du lager til ALLE innholdsnoder av den typen.
  4. Under Ikon, velg bokikonet for å knytte seg til bokens undertype.

  5. Klikk Legg til.

Legg til utvidet attributtsett

Nå som du har din Page / Book Class Extension, må vi legge til noen utvidede attributter for elementene vi trenger for boken. Utvidede attributter grupperes i Attributt sett, omtrent som a

i et HTML-skjema). Attributtsettene er adskilt visuelt i administrasjonen for å tillate modulær separasjon for brukeren. 

Slik oppretter du et attributtsett:

  1. Å velge Legg til > Legg til attributtsett.
  2. Tast inn Bokdetaljer for Egenskapssettnavn. Dette settet inneholder alle detaljene vi trenger for hver bok.
  3. For Container (Tab), å velge grunn~~POS=TRUNC (du kan velge alternative faner i Mura UI for organisasjonen)

  4. Klikk Legg til.

Legg til utvidede attributter

Når du har fått ditt attributtsett opprettet, kan du legge til de enkelte utvidede attributter. Vi starter med å legge til et vanlig tekstfelt for bokens forfatter:

  1. Innenfor din Bokdetaljer Attributt sett, klikk Legg til nytt attribut

  2. I Navn feltet, skriv inn AUTHOR.
    Merk: Det er viktig å navngitte variabelen basert på subtypen og Attributtens navn. For eksempel, hvis subtypen er 'Bok' og attributtet du ønsker å legge til, er 'tittel', bruk deretter 'productTitle' som den faktiske 'navnet' for attributtet i stedet. Hvis du har flere tilpassede utvidede attributter for nettstedet ditt, kan du enkelt og ved et uhell bygge to (eller flere) utvidede attributter med samme navn. Ikke gjør dette! I tillegg må du unngå å bruke noen av Mura standardformularfeltnavn. Dette er for å unngå skjemafeltnavnskollisjoner, ellers kan du utilsiktet ende opp med to skjemafelt med "Tittel" for navnetattributtet, en fra Mura, den andre fra ditt utvidede attributt.
  3. I feltet Etikett skriver du inn den brukervennlige etiketten for feltet som vil vises til brukeren.
  4. For Inngangstype, å velge Tekstboks.
  5. Til tooltip, skriv inn et brukervennlig hint om hva som skal gå inn i feltet. Noe som "Vennligst skriv navnet på hvem som skrev boken" for å sikre at brukerne forstår hva dette feltet betyr.
  6. Din komplette form skal se slik ut:

  7. Klikk Legg til

For de gjenværende feltene, gjenta trinnene ovenfor med følgende detaljer for hvert felt:

Utgivelsesdato

  • Navn: bookReleaseDate
  • Merkelapp: Utgivelsesdato
  • Inngangstype: Tekstboks
  • Verktøytips: Vennligst velg datoen boken ble publisert
  • Validere: Dato (dette vil legge til en datovelger i feltet)

ISBN

  • Navn: bookISBN
  • Merkelapp: ISBN
  • Inngangstype: Tekstboks
  • Verktøytips: Vennligst skriv inn ISBN av boken

Ny / Brukt

  • Navn: bookNewUsed
  • Merkelapp: Ny eller brukt
  • Inngangstype: SelectBox
  • Verktøytips: Vennligst velg om boken er ny eller brukt
  • Alternativliste (html-verdiene for elementene i rullegardinlisten): ny ^ brukt
  • Valglabelliste (de brukervennlige etikettene for elementene i rullegardinlisten): New ^ Brukt

Pris

  • Navn: bookPrice
  • Merkelapp: Pris $
  • Inngangstype: Tekstboks
  • Verktøytips: Vennligst skriv inn prisen på boken

Bruke en klasseutvidelse

Nå som du har opprettet alle dine utvidede attributter, kan du legge til en ny bok fra nettstedssjefen og fylle ut alle skjemafeltene du nettopp har opprettet.

  1. Gå til Nettstedssjef

  2. Ved siden av Hjemmesiden holder du over (+) -tegnet og velger Legg til innhold

  3. Å velge Mappe

  4. Tast inn bøker for Tittel
  5. Velg kategorien Layout og objekter

  6. Under Alternativ oppsettmaler for barn, å velge twoCol_SR.cfm

  7. Klikk publisere
  8. Ved siden av Bøker-mappen i Site Manager, svinger du over (+) -tegnet og velger Legg til innhold


  9. Når Velg innholdstype Modal vises, du bør nå se Bok sidetype, sammen med det respektive ikonet.

  10. Skriv inn bokens tittel, oppsummering og innhold  

  11. du bør se Bokdetaljer Attributt Angi under innholdsfeltet på Grunnleggende fane (hvis du ikke ser det der, kan du ha valgt en annen fane for å vise Egenskapsinnstillingen på, for eksempel Utvidede attributter). Skriv inn bøkens respektive informasjon og klikk publisere

Viser utvidede attributter

Når du ser på siden, vil du legge merke til at attributene dine ikke vises. Det er fordi vi må fortelle Mura å vise disse verdiene ut på siden. Nå er det flere måter å oppnå dette, alt avhengig av brukssaken og hvor mye fleksibilitet du vil gi brukerne for å endre sidelayout. I dette eksemplet skal vi lage en komponent som utdataer den informasjonen vi ønsker, slik at den er allsidig å bruke i hvilken hvilken sidemal vi velger. 

Opprett en ny komponent

  1. I Mura admin, klikk gå til Moduler> Komponenter

  2. Å velge Legg til komponent

  3. I Tittel feltet, skriv inn Bokdetaljer
  4. I innholdsområdet skriver du inn følgende:
    detaljer
    Forfatter: [M] $. Innhold ( 'AUTHOR') [/ m]
    Utgivelsesdato: [M] dateformat ($. Innhold ( 'bookReleaseDate'), 'mm / dd / yy') [/ m]
    ISBN: [M] $. Innhold ( 'bookISBN') [/ m]
    Tilstand: [M] $. Innhold ( 'bookNewUsed') [/ m]
    Pris: $ [M] $. Innhold ( 'bookPrice') [/ m]

    Merk: Vi bruker enkel formatering for dette eksempelet, men du kan merke og utforme dette, men du ønsker det med CSS.
  5. Klikk publisere

Legg til komponenten i boksidene

  1. Tilbake i Site Manager, finn bøker mappe (ikke selve boken), og klikk på den for å redigere.

  2. Velg Layout og objekter tab

  3. Under Arv Regler, å velge Start ny kaskade

  4. Under Innholdsobjekter, velg Komponenter, finn Bokdetaljer komponent og legg den til i Høyre kolonne vis region.

  5. Klikk publisere

Nå når du oppdaterer boksiden din, bør du se bokens detaljer vises i høyre sidefelt. 

Wrapping Up

Som nevnt tidligere, er dette bare en måte å vise utvidede attributter på. Du kan også velge å innlemme dine utvidede attributter i sidesiden eller komponentsjablene, der du kan bruke ekstra logikk og forhindre at brukerne endrer merkingen din. 

Hvis du vil vise dine utvidede attributter i en mal, endrer du bare [M] til # f.eks. # $. Innhold ( 'AUTHOR') #

De [M] tag er en del av Mura-omfanget slik at du kan vise visse Mura-funksjoner i redaktøren i administrasjonen, hvor som hashtags (#) er den vanlige måten å skrive ut innhold på i CFML.

Nå som du har lært hvordan du bruker klasseutvidelser, kan du ta Mura-temaene til et helt nytt nivå ved å gi brukerne mer robuste måter å administrere innholdet i temaene dine på..