Veel websitebouwers schrikken terug voor de MODX CMS omdat ze denken (of hebben gehoord) dat het in de eerste plaats voor ontwikkelaars is die ervaring hebben met PHP- en JavaScript-codering.
Hoewel MODX krachtige componenten heeft voor ervaren codeerders om te gebruiken, zijn er ook veel voordelen voor ontwerpers met minder technische kennis. De belangrijkste hiervan is de creatieve vrijheid die MODX biedt. Hiermee kunt u eenvoudig uw website laten uitzien zoals u dat wilt, zonder compromissen.
MODX is ontwikkeld door webprogrammeurs die gefrustreerd waren over de creatieve beperkingen van andere CMS-platforms. Ze vonden het vreselijk om te moeten werken aan systemen met ingebouwde ideeën over hoe een website moest worden gebouwd en waar dingen moesten worden geplaatst zodat ze zouden werken.
Ze wilden ook een betere taak leveren door de inhoud van een website te scheiden van de code die die inhoud presenteerde - een praktijk die het veel gemakkelijker maakt om websites opnieuw te ontwerpen en te onderhouden.
Wat het "eerste principe" van MODX zou kunnen worden genoemd, is om, waar mogelijk, de ontwerper van de site te laten doen wat hij of zij wil, en dit gemakkelijk te doen. De kern van deze creatieve vrijheid zijn MODX-sjablonen en MODX-tags.
Een MODX-sjabloon is niets meer dan een pagina met HTML-code (en optioneel MODX-tags en JavaScript). U kunt een pagina kiezen op een niet-CMS-site en de HTML-code voor die pagina in een MODX-sjabloon plakken, de URL's voor CSS-bestanden aanpassen en MODX vertellen om die sjabloon te gebruiken wanneer een bepaald document op de site wordt weergegeven. Dat zou minder dan 5 minuten duren en wanneer u de MODX-pagina zou bekijken, zou deze er exact hetzelfde uitzien als op de originele site. De enige beperking is dat je geen PHP-code op de pagina kunt hebben (daarover later meer).
Als u de code voor een hele pagina in een sjabloon plakt, worden veel van de krachtige functies van MODX genegeerd, maar het geeft wel aan hoeveel vrijheid u heeft bij het maken van MODX-websites.
De belangrijkste kracht van MODX is afkomstig van MODX-tags. In wezen vertegenwoordigen MODX-tags dingen die u uit de sjabloon verwijdert en ergens anders voor het gemak plaatst en extra flexibiliteit toevoegt. Wat overblijft in de sjabloon is meestal de HTML-shell en de MODX-tags.
De basiswerking van de MODX-engine is ongelooflijk eenvoudig. Wanneer een webpagina door een browser wordt aangevraagd, controleert MODX of die sjabloon aan die pagina is gekoppeld. Het krijgt de sjabloon, vervangt alle MODX-tags in de sjabloon en verzendt deze naar de browser. Dat is het.
De mogelijkheid om een dynamische, creatieve website in MODX te hebben, komt van wat de tags kunnen weergeven. Er zijn een aantal soorten tags en elke wordt vervangen door iets anders. Alle tags zijn optioneel en elke tag kan overal in de sjabloon terechtkomen. Laten we eens kijken naar een eenvoudig voorbeeld van zogenaamde "chunk" -tags.
Opmerking: de voorbeelden zijn hier voor MODX Revolution. MODX Evolution maakt gebruik van een iets andere tagstijl, maar de concepten zijn hetzelfde.
In MODX is een "brok" gewoon een stukje HTML-code die u op meer dan één pagina wilt gebruiken. Het kan een koptekst, voettekst, zijbalk, menu of iets anders zijn. Laten we zeggen dat het een voettekst is die u op elke pagina (of een deelverzameling van uw pagina's) wilt weergeven. U maakt het blok in de MODX Manager, typt de HTML-code voor de voettekst in, geeft deze een naam (FooterChunk) en slaat deze vervolgens op. Nu, in uw sjabloon, plaatst u gewoon de volgende tag waar u wilt dat die voettekst verschijnt:
[[$FooterChunk]]
Elke pagina die die sjabloon gebruikt, toont het voettekort op die locatie. Als u besluit de tekst of HTML van de voettekst te wijzigen, bewerkt u eenvoudig de FooterChunk en verschijnt de nieuwe versie op al uw pagina's. Als u de voettekst ergens anders op de pagina wilt plaatsen, verplaatst u de tag gewoon in de sjabloon.
Een ander soort tag in MODX is de tag "resource content" (meestal kortweg een "content" -tag genoemd). In MODX komt elke webpagina overeen met een document dat is opgeslagen in de MODX-database. Wanneer u een nieuwe pagina voor een MODX-website maakt, krijgt u een formulier te zien dat u kunt invullen met informatie over het document.
Er zijn tekstinvoervelden voor een titel, een lange titel, een beschrijving, een samenvatting, een alias (voor gebruik in de URL), inhoud (de hoofdinhoud van de pagina) en menutitel (automatisch gebruikt in menu's). Er zijn selectievakjes die aangeven of het document is gepubliceerd en of het uit menu's moet worden verborgen.
Er zijn ook datumvelden om toekomstige publicatie- of niet-publicatiedata aan te geven en de datum waarop het document werd gepubliceerd.
Er zijn ook andere velden, maar ook hier zien we de flexibiliteit van MODX - alle velden behalve de titel en alias zijn optioneel! Elke pagina moet een titel en iets hebben om in de URL van de pagina te plaatsen, maar het is geheel aan jou of je de andere velden wilt gebruiken of niet. Wat op de andere gebieden gebeurt, is ook grotendeels aan jou. U wilt vrijwel zeker de hoofdinhoud van de pagina in het inhoudsveld plaatsen, maar dat hoeft niet. Als je het veld Lange titel wilt gebruiken om het astrologische teken van de gebruiker die op de pagina is geprofileerd op te slaan, ga je gang.
Om terug te gaan naar de "inhoud" -tags, vertegenwoordigen ze de velden van het formulier. Wanneer MODX een inhoudstag ziet, wordt deze vervangen door de waarde van het benoemde formulierveld. Op de plek waar u bijvoorbeeld de hoofdinhoud van de pagina wilt weergeven, plaatst u deze tag in de sjabloon:
[[*content]]
Waar je de lange titel van de pagina wilt laten verschijnen (als je het al wilt), plaats je deze tag:
[[*longtitle]]
Voor de hoofdtitel zou je deze tag gebruiken:
[[*pagetitle]]
Als u besluit dat de titel of de lange titel ergens anders moet worden weergegeven, verplaatst u de tags in uw sjabloon. Als u de lange titel niet wilt weergeven, verwijdert u de tag uit uw sjabloon. Als u wilt dat wat in de lange titel staat in de voettekst van de pagina verschijnt, kunt u de tag zelfs verplaatsen naar de FooterChunk die we eerder noemden. Als u een onwaarschijnlijk voorbeeld wilt gebruiken, kunt u zelfs de URL van het pad naar het CSS-bestand dat u voor de pagina wilt gebruiken in het veld Lange titel plaatsen en dit label in het kopgedeelte van uw sjabloon plaatsen:
MODX is heel eenvoudig als het op tags aankomt. Wanneer het een MODX-tag ziet, vervangt het dit door wat het vertegenwoordigt. Het maakt niet uit wat het is of waarom je het daar neerzet. Het gaat ervan uit dat je weet wat je wilt en handelt dienovereenkomstig. Er is geen moeite om erachter te komen wat MODX wil of waarom het niet doet wat je wilt, omdat het gewoon doet wat je zegt. Vertrouw me, het is een aangename afwisseling van het moeten omgaan met een CMS dat denkt dat het meer weet over wat je wilt dan jij, of vooroordelen heeft over hoe dingen moeten worden weergegeven of waar ze zich zouden moeten bevinden.
Eerder in het artikel noemde ik de PHP-code. In MODX gaat PHP-code in een fragment, dat is gewoon elk stukje PHP-code dat je op de site wilt gebruiken. Wanneer MODX een codetag ziet, wordt deze vervangen door wat er uit het fragment wordt geretourneerd. Door PHP-code in fragmenten te plaatsen, wordt de site veel veiliger en gemakkelijker te onderhouden omdat de code gescheiden is van de inhoud. Als een hacker erin slaagt om een pagina op uw site te plaatsen die schadelijke PHP-code bevat, zal MODX de code negeren omdat deze niet in een fragment staat.
Als u geen PHP-coder bent, gebruikt u nog steeds codetags omdat er MODX add-on-componenten zijn (meestal "extra's" genoemd in MODX) die veel van het zware werk op uw site zullen doen.
Het Wayfinder-fragment produceert bijvoorbeeld een menu uit de documenten op uw site. Als u een nieuwe pagina maakt, verschijnt deze automatisch in het menu. In de eenvoudigste vorm, plaats je gewoon een tag zoals deze waar je het menu wilt laten verschijnen:
[[Wayfinder]]
MODX zal die tag vervangen door een menu van alle pagina's op uw site. Wayfinder geeft standaard de menu-opties weer als links in een ongeordende lijst, maar u kunt het configureren om elk gewenst menu te maken.Ik heb vervolgmenu's voor vervolgmenu's, horizontale menu's, verticale menu's, visoogmenu's, megamenus, pop-upmenu's en zelfs cirkelvormige menu's, allemaal geproduceerd met Wayfinder. Ik moet zelfs een menu zien dat niet met Wayfinder kan worden geproduceerd.
U kunt Wayfinder ook gebruiken om menu's van slechts een deel van uw site te tonen en u kunt meer dan één Wayfinder-menu op dezelfde pagina gebruiken. Weet je nog de selectievakjes 'Verbergen uit menu's' en 'Gepubliceerd' die we eerder noemden? Wayfinder toont geen ongepubliceerde of verborgen pagina's tenzij u dit zegt.
Een ander vaak gebruikt fragment is getResources. Het fragment getResources toont selecties van documenten op uw site, opgemaakt zoals u dat wilt (uiteraard met behulp van MODX-tags), gesorteerd, geselecteerd en weergegeven zoals u ze wilt. Een algemeen gebruik van getResources zou zijn om de titel en samenvatting van de vijf of tien meest recent gemaakte documenten op de site te tonen, elk met een link naar het volledige document.
Zowel Wayfinder als getResources gebruiken chunks voor hun opmaak (dit soort brok wordt een Tpl-brok genoemd in MODX) met HTML-code en MODX-tags voor de verschillende elementen die moeten worden getoond. Als je de opmaak of inhoud van hun uitvoer wilt wijzigen, kun je eenvoudig de Tpl-chunks bewerken (of je eigen maken).
Vroeger was het enigszins moeilijk om een blog te maken in MODX (een duidelijk nadeel voor veel mensen). Nu is de extra artikelen echter een volledig uitgerust blogonderdeel voor MODX dat eenvoudig te gebruiken en configureren is. Artikelen hebben opmerkingen, tags, moderatie, discussies in discussies en al het andere dat je misschien wilt voor je blog, waardoor MODX een aantrekkelijk alternatief is voor WordPress.
Dit artikel heeft nauwelijks het oppervlak van MODX gekrast. Hopelijk heb ik je zin in MODX opgeschud en je een beetje laten zien hoeveel vrijheid het je geeft bij het maken van de website die je in je hoofd hebt. Het verhuizen van een niet-MODX-site naar MODX is verrassend eenvoudig. Zie voor een korte beschrijving van het proces deze pagina .
Als u een webdesigner bent en u een CMS wilt waarmee u de creatieve vrijheid hebt om uw site er precies zo uit te laten zien als u dat wilt, moet u MODX zeker eens proberen.