Mura CMS Klasse-uitbreidingen

Een van de geweldige dingen van een CMS is dat het al uw website-informatie opslaat in een enkele database (zoals een Excel-spreadsheet) en u eenvoudig toegang geeft om die informatie in de beheerder te bewerken. Wanneer u de titel, samenvatting of tekst van een pagina bewerkt, klikt u op publiceren, je bent in wezen die database aan het bijwerken met de gewijzigde informatie. Maar wat als u extra informatie wilt opslaan die is gekoppeld aan een bepaald inhoudstype? Een profielpagina kan bijvoorbeeld een herhalende structuur van informatie over die persoon bevatten (voornaam, achternaam, functie, enz.). Traditioneel zijn uw opties om elke keer die informatie opnieuw in te voeren, of u zou de database moeten wijzigen (ofwel direct, of een aantal aangepaste scripts schrijven om dit voor u te doen) om extra kolommen te maken om die informatie te bevatten. Dan zou u de gebruikersinterface (UI) moeten veranderen om de gebruiker extra formuliervelden te geven om die informatie in te voeren.

In Mura CMS is dat hele proces vereenvoudigd met het gebruik van Uitgebreide attributen. In de Mura-beheerder kunt u zowat elk type knooppunttype (pagina, component, galerij, map, enz.) Uitbreiden en zoveel extra velden toevoegen als u wilt, allemaal zonder dat u de database hoeft aan te raken of een code hoeft te schrijven. 

In dit voorbeeld gaan we een nieuw paginatype voor een boek maken. Naast de titel heeft elk boek de volgende velden die de inhoudbeheerder moet invullen:

  • Schrijver
  • Datum van publicatie
  • ISBN
  • Nieuw / Gebruikt
  • Prijs

Er zijn drie delen die betrokken zijn bij het creëren van uitgebreide attributen:

  1. Klasse-extensie: Dit is het basisknooppunt dat u wilt uitbreiden (pagina, map, galerij, component, enzovoort)
  2. Attrbute Set: Een groepering van Uitgebreide Attributen, weergegeven wanneer de gebruiker inhoud aan het bewerken is
  3. Uitgebreide kenmerken: Afzonderlijke velden voor de gegevens die u wilt verzamelen (zoals we hierboven hebben vermeld).

Maak de Class-extensie

De eerste stap is het maken van de klassenuitbreiding. Dit is het hoofddoel Type en SubType die alle uitgebreide attributen zal bevatten. Om een ​​nieuwe klasse-extensie te maken:

  1. Ga vanuit de Mura-beheerder naar select Site Config > Class Extension Manager> Class-extensie toevoegen.

  2. Voor Basistype kiezen Pagina.
  3. Onder SubType, type Boek
    Notitie: Als u "SubType" instelt op "Standaard", worden alle uitgebreide kenmerken die u hebt gemaakt toegepast op ALLE inhoudsknooppunten van dat type.
  4. Onder Icoon, selecteer het boekpictogram om aan het subtype Boek te koppelen.

  5. Klik Toevoegen.

Uitgebreide kenmerkenset toevoegen

Nu u uw pagina- / boekenklasse-extensie heeft, moeten we een paar uitgebreide kenmerken toevoegen voor de items die we voor het boek nodig hebben. Uitgebreide Attributen zijn gegroepeerd in Attribute Sets, ongeveer zoals a

in een HTML-vorm). De attribuutsets worden visueel gescheiden in de admin om modulaire scheiding voor de gebruiker mogelijk te maken. 

Om een ​​attributenset te maken:

  1. kiezen Toevoegen > Attribuutset toevoegen.
  2. invoeren Boek details voor de Kenmerk Set Naam. Deze set bevat alle details die we nodig hebben voor elk boek.
  3. Voor de Container (tabblad), kiezen basis- (u kunt voor de organisatie andere tabbladen selecteren in de Mura UI)

  4. Klik Toevoegen.

Uitgebreide kenmerken toevoegen

Nadat u uw Attribute Set hebt gemaakt, kunt u de afzonderlijke uitgebreide kenmerken toevoegen. We beginnen met het toevoegen van een leeg tekstveld voor de auteur van het boek:

  1. In jouw Boek details Kenmerk instellen, klik Nieuw kenmerk toevoegen

  2. In de Naam veld, enter bookAuthor.
    Notitie: Het is belangrijk om de variabele een naamruimte te geven op basis van het subType en de naam van het kenmerk. Als het subtype bijvoorbeeld 'Boek' is en het kenmerk dat u wilt toevoegen 'titel' is, gebruikt u 'productTitle' als de werkelijke 'naam' voor het kenmerk. Als u meerdere aangepaste uitgebreide kenmerken voor uw site heeft, kunt u gemakkelijk en per ongeluk twee (of meer) uitgebreide kenmerken met dezelfde naam maken. Doe dit niet! Vermijd bovendien het gebruik van een van de standaardveldnamen van Mura. Dit is om botsingen met veldveldnamen te voorkomen, anders zou je onbedoeld terecht kunnen komen in twee formuliervelden met 'Titel' voor het naamkenmerk, één van Mura, de andere van je uitgebreide attribuut.
  3. Voer in het veld Label het gebruiksvriendelijke label in voor het veld dat voor de gebruiker wordt weergegeven.
  4. Voor de Input Type, kiezen Tekstvak.
  5. Voor tooltip, voer een gebruiksvriendelijke hint in over wat er in het invoerveld moet gaan. Iets als "Voer de naam in van wie het boek heeft geschreven" om te zorgen dat gebruikers begrijpen wat dat veld betekent.
  6. Uw complete formulier moet er als volgt uitzien:

  7. Klik Toevoegen

Voor de resterende velden herhaalt u de bovenstaande stappen met de volgende details voor elk veld:

Datum van publicatie

  • Naam: bookReleaseDate
  • Label: Datum van publicatie
  • Input Type: Tekstvak
  • tooltip: Selecteer de datum waarop het boek is gepubliceerd
  • valideren: Datum (dit voegt een datumkiezer toe aan het veld)

ISBN

  • Naam: bookISBN
  • Label: ISBN
  • Input Type: Tekstvak
  • tooltip: Voer het ISBN-nummer van het boek in

Nieuw / Gebruikt

  • Naam: bookNewUsed
  • Label: Nieuw of gebruikt
  • Input Type: selectbox
  • tooltip: Selecteer of het boek nieuw is of wordt gebruikt
  • Optielijst (de html-waarden voor de items in de vervolgkeuzelijst): nieuwe ^ gebruikt
  • Optielabel (de gebruiksvriendelijke labels voor de items in de vervolgkeuzelijst): Nieuwe ^ Gebruikt

Prijs

  • Naam: bookPrice
  • Label: Prijs $
  • Input Type: Tekstvak
  • tooltip: Voer de prijs van het boek in

Een klasse-extensie gebruiken

Nu u al uw uitgebreide kenmerken hebt gemaakt, kunt u een nieuw boek toevoegen vanuit de sitebeheerder en alle formuliervelden invullen die u zojuist hebt gemaakt.

  1. Ga naar de Site Manager

  2. Naast de startpagina, zweef je over het (+) teken en selecteer je Content toevoegen

  3. kiezen Map

  4. invoeren Boeken voor de Titel
  5. Selecteer het tabblad Layout & Objects

  6. Onder Ander lay-out sjabloon voor kinderen, kiezen twoCol_SR.cfm

  7. Klik Publiceren
  8. Naast de map Boeken in de sitebeheerder, zweeft u over het (+) teken en selecteert u Content toevoegen


  9. Wanneer de Selecteer Inhoudstype modal verschijnt, je zou nu de Boek paginatype, samen met het respectieve pictogram.

  10. Voer de titel, samenvatting en inhoud van het boek in  

  11. je zou het moeten zien Boek details Kenmerk Instellen onder het inhoudsveld op het tabblad Basis (als u het daar niet ziet, hebt u mogelijk een ander tabblad geselecteerd om de attributenset weer te geven, zoals Uitgebreide attributen). Voer de respectieve informatie van de boeken in en klik Publiceren

Uitgebreide attributen weergeven

Wanneer u de pagina bekijkt, merkt u dat uw kenmerken niet worden weergegeven. Dat is omdat we Mura moeten vertellen om die waarden op de pagina weer te geven. Nu zijn er verschillende manieren om dit te bereiken, alles afhankelijk van de gebruikscasus en hoeveel flexibiliteit u uw gebruikers wilt geven om de pagina-indeling te wijzigen. In dit voorbeeld gaan we een component maken die de gewenste informatie uitvoert, dus op die manier is het veelzijdig te gebruiken in elke paginasjabloon die we kiezen. 

Maak een nieuwe component

  1. Klik in de Mura-beheerder op ga naar Modules> Componenten

  2. kiezen Component toevoegen

  3. In de Titel veld, enter Boek details
  4. Voer in het inhoudsgebied het volgende in:
    Details
    Schrijver: [M] $. Gehalte ( 'bookAuthor') [/ m]
    Datum van publicatie: [M] dateFormat ($. Gehalte (bookReleaseDate ")," mm / dd / jj) [/ m]
    ISBN: [M] $. Gehalte ( 'bookISBN') [/ m]
    Staat: [M] $. Gehalte ( 'bookNewUsed') [/ m]
    Prijs: $ [M] $. Gehalte ( 'bookPrice') [/ m]

    Notitie: We gebruiken eenvoudige opmaak voor dit voorbeeld, maar u kunt dit desgewenst opmaken en opmaken met CSS.
  5. Klik Publiceren

Voeg de component toe aan de boekpagina's

  1. Terug in de sitemanager, zoek de Boeken map (niet het boek zelf) en klik erop om te bewerken.

  2. Selecteer de Layout & Objecten tab

  3. Onder Nalatigheidsregels, kiezen Start nieuwe cascade

  4. Onder Content-objecten, selecteer Componenten, zoek de Boek details component en voeg het toe aan de Rechterkolom weergavegebied.

  5. Klik Publiceren

Wanneer u nu uw boekpagina vernieuwt, ziet u de boekgegevens in de rechterzijbalk verschijnen. 

Afsluiten

Zoals ik eerder al zei, is dit slechts een manier om Uitgebreide Attributen weer te geven. U kunt er ook voor kiezen om uw uitgebreide kenmerken op te nemen in uw pagina- of componentsjablonen, waar u aanvullende logica kunt gebruiken en verder voorkomen dat uw gebruikers uw markeringen wijzigen. 

Als u uw Uitgebreide Attributen binnen een sjabloon wilt weergeven, wijzigt u eenvoudig de [M] naar # bv. # $. Gehalte ( 'bookAuthor') #

De [M] tag maakt deel uit van de Mura Scope om u in staat te stellen bepaalde Mura-functies in de editor in de admin weer te geven, waarbij de hashtags (#) zijn de standaardmanieren voor het uitvoeren van inhoud in CFML.

Nu u hebt geleerd hoe u klasse-extensies gebruikt, kunt u uw Mura-thema's naar een geheel nieuw niveau brengen door uw gebruikers robuustere manieren te bieden om de inhoud in uw thema's te beheren.