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:
Klasse-extensie: Dit is het basisknooppunt dat u wilt uitbreiden (pagina, map, galerij, component, enzovoort)
Attrbute Set: Een groepering van Uitgebreide Attributen, weergegeven wanneer de gebruiker inhoud aan het bewerken is
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:
Ga vanuit de Mura-beheerder naar select Site Config>Class Extension Manager> Class-extensie toevoegen.
Voor Basistype kiezen Pagina.
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.
Onder Icoon, selecteer het boekpictogram om aan het subtype Boek te koppelen.
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:
kiezen Toevoegen > Attribuutset toevoegen.
invoeren Boek details voor de Kenmerk Set Naam. Deze set bevat alle details die we nodig hebben voor elk boek.
Voor de Container (tabblad), kiezen basis- (u kunt voor de organisatie andere tabbladen selecteren in de Mura UI)
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:
In jouw Boek details Kenmerk instellen, klik Nieuw kenmerk toevoegen.
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.
Voer in het veld Label het gebruiksvriendelijke label in voor het veld dat voor de gebruiker wordt weergegeven.
Voor de Input Type, kiezen Tekstvak.
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.
Uw complete formulier moet er als volgt uitzien:
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.
Ga naar de Site Manager
Naast de startpagina, zweef je over het (+) teken en selecteer je Content toevoegen
kiezen Map
invoeren Boeken voor de Titel
Selecteer het tabblad Layout & Objects
Onder Ander lay-out sjabloon voor kinderen, kiezen twoCol_SR.cfm
Klik Publiceren
Naast de map Boeken in de sitebeheerder, zweeft u over het (+) teken en selecteert u Content toevoegen
Wanneer de Selecteer Inhoudstype modal verschijnt, je zou nu de Boek paginatype, samen met het respectieve pictogram.
Voer de titel, samenvatting en inhoud van het boek in
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
Klik in de Mura-beheerder op ga naar Modules> Componenten
kiezen Component toevoegen
In de Titel veld, enter Boek details
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.
Klik Publiceren
Voeg de component toe aan de boekpagina's
Terug in de sitemanager, zoek de Boeken map (niet het boek zelf) en klik erop om te bewerken.
Selecteer de Layout & Objecten tab
Onder Nalatigheidsregels, kiezen Start nieuwe cascade
Onder Content-objecten, selecteer Componenten, zoek de Boek details component en voeg het toe aan de Rechterkolom weergavegebied.
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.