Många webbplatsbyggare skygga bort från MODX CMS eftersom de tycker (eller har hört) att det är främst för utvecklare som är skickliga på PHP och JavaScript-kodning.

Medan MODX har kraftfulla komponenter för skickliga kodare att använda, är det också många fördelar för mindre tekniskt kunniga konstruktörer. Det viktigaste av dessa är den kreativa friheten som MODX tillhandahåller. Det gör att du enkelt kan få din webbplats att se exakt ut som du vill, utan kompromisser.

MODX utvecklades av webprogrammerare som var frustrerade med de kreativa begränsningarna i andra CMS-plattformar. De hatade att arbeta på system som hade inbyggda uppfattningar om hur en webbplats ska byggas och var man ska sätta saker så att de skulle arbeta.

De ville också göra ett bättre jobb att skilja innehållet på en webbplats från koden som presenterade det innehållet - en övning som gör det mycket lättare att omdesigna och underhålla webbplatser.

mallar

Vad som kan kallas MODXs "första princip" är, när det är möjligt, att låta webbplatsdesignern göra vad han eller hon vill, och gör det enkelt. Kärnan i denna kreativa frihet är MODX mallar och MODX-taggar.

En MODX-mall är inget annat än en sida med HTML-kod (och eventuellt MODX-taggar och JavaScript). Du kan välja en sida på en icke-CMS-webbplats och klistra in HTML-koden för den sidan i en MODX-mall, justera webbadresserna för några CSS-filer och sedan berätta för MODX att använda den mallen när ett visst dokument visas på webbplatsen. Det skulle ta mindre än 5 minuter, och när du såg MODX-sidan så skulle den se ut precis som den gjorde på den ursprungliga webbplatsen. Den enda begränsningen är att du inte kan ha någon PHP-kod på sidan (mer om det senare).

Att sätta in koden för en hel sida i en mall skulle ignorera många av de kraftfulla funktionerna i MODX, men det hjälper till att visa hur mycket frihet du har för att skapa MODX-webbplatser.

Tags

MODX: s huvudkraft kommer från MODX-taggar. I huvudsak representerar MODX-taggar saker som du flyttar ut ur mallen och placerar någon annanstans för bekvämlighet och ökad flexibilitet. Det som återstår i mallen är vanligtvis HTML-skalet och MODX-taggarna.

Den grundläggande funktionen i MODX-motorn är otroligt enkel. När en webbsida begärs av en webbläsare kontrollerar MODX att se vilken mall som är associerad med den sidan. Det blir mallen, ersätter alla MODX-taggar i mallen och skickar den till webbläsaren. Det är allt.

Möjligheten att ha en dynamisk, kreativ webbplats i MODX kommer från vad taggarna kan representera. Det finns flera typer av taggar, och var och en ersätts av något annat. Alla taggar är frivilliga och alla taggar kan gå någonstans i mallen. Låt oss titta på ett enkelt exempel på vad som kallas "chunk" -taggar.

Obs! Exemplen här är för MODX Revolution. MODX Evolution använder en något annorlunda taggstil, men koncepten är desamma.

I MODX är en "chunk" bara en bit av HTML-kod som du vill använda på mer än en sida. Det kan vara en rubrik, sidfot, sidobalk, meny eller något annat. Låt oss säga att det är en sidfot som du vill visa på varje sida (eller en del av dina sidor). Du skapar biten i MODX Manager, skriv in HTML-koden för sidfoten, ge den ett namn (FooterChunk) och spara sedan. Nu, i din mall, lägger du bara följande tag där du vill att den ska visas:

[[$FooterChunk]]

Varje sida som använder den mallen kommer att visa sidfoten på den platsen. Om du bestämmer dig för att ändra text eller HTML på sidfoten, ändrar du bara FooterChunk och den nya versionen visas på alla dina sidor. Om du vill ha sidfoten någonstans på sidan, flyttar du bara taggen i mallen.

En annan typ av tagg i MODX är "Resursinnehåll" -taggen (brukar kallas en "innehåll" -tagg för kort). I MODX motsvarar varje webbsida ett dokument som är lagrat i MODX-databasen. När du skapar en ny sida för en MODX-webbplats, presenteras du med ett formulär som du kan fylla i med information om dokumentet.

Det finns textfält för en titel, lång titel, beskrivning, sammanfattning, alias (som ska användas i webbadressen), innehåll (huvudinnehållet på sidan) och menettitel (används automatiskt i menyer). Det finns kryssrutor som anger om dokumentet publiceras och huruvida det ska gömmas från menyer.

Det finns också datumfält för att ange framtida publicerings- eller publiceringsdatum och datum då dokumentet publicerades.

Det finns också andra områden, men här ser vi flexibiliteten i MODX - alla fält utom titel och alias är valfria! Varje sida måste ha en titel och något att sätta i webbadressen till sidan, men det är helt upp till dig om du vill använda de andra fälten eller inte. Vad som ligger i de andra fälten är också i stor utsträckning upp till dig. Du vill nästan säkert lägga huvudinnehållet på sidan i innehållsfältet, men du behöver inte. Om du vill använda fältet Långt Titel för att lagra det astrologiska tecknet på användaren som är profilerad på sidan, gå direkt.

För att komma tillbaka till "innehåll" -taggarna representerar de fälten i formuläret. När MODX ser en innehålls tagg ersätter den den med värdet av det angivna formulärfältet. På den plats där du vill att huvudinnehållet på sidan ska visas, lägger du till exempel taggen i mallen:

[[*content]]

Var du vill att sidans långa titel ska visas (om du vill ha det alls) sätter du den här taggen:

[[*longtitle]]

För huvudtiteln använder du den här taggen:

[[*pagetitle]]

Om du bestämmer dig för att titeln eller den långa titeln ska visas någon annanstans flyttar du bara taggarna i din mall. Om du inte vill visa den långa titeln tar du bort taggen från din mall. Om du vill ha det som finns i den långa titeln för att visas i sidfoten, kan du även flytta dess tagg till FooterChunk som vi nämnde tidigare. För att använda ett osannolikt exempel kan du till och med ange webbadressen till sökvägen till den CSS-fil du vill använda för sidan i fältet Långtitel och placera den här taggen i huvuddelen av din mall:

MODX är väldigt enkelt när det gäller taggar. När den ser en MODX-tag, ersätter den den med vad den representerar. Det bryr sig inte vad det är eller varför du sätter det där. Det förutsätter att du vet vad du vill och agerar i enlighet därmed. Det finns ingen kamp för att ta reda på vad MODX vill eller varför det inte gör vad du vill, för att det bara gör vad du säger det till. Lita på mig, det är en trevlig förändring från att behöva hantera ett CMS som tycker att det vet mer om vad du vill ha än du gör, eller har förutbestämda begrepp om hur saker ska visas eller var de borde finnas.

utdrag

Tidigare i artikeln nämnde jag PHP-kod. I MODX går PHP-koden i ett kod, vilket bara är en del av PHP-koden du vill använda på webbplatsen. När MODX ser en snippet-tagg, ersätter den den med det som returneras från snippet. Att sätta PHP-kod i snippets gör webbplatsen mycket säkrare och enklare att behålla eftersom koden är skild från innehållet. Om någon hacker lyckas lägga till en sida på din webbplats som innehåller skadlig PHP-kod, ignorerar MODX koden eftersom den inte finns i ett utdrag.

Om du inte är en PHP-kodare, använder du fortfarande kodade taggar eftersom det finns MODX-tilläggskomponenter (vanligtvis kallade "extras" i MODX) som gör mycket av den tunga lyftningen på din webbplats.

Wayfinder-kodet, till exempel, kommer att producera en meny från dokumenten på din webbplats. Om du skapar en ny sida visas den automatiskt i menyn. I sin enklaste form lägger du bara en tagg så här där du vill att menyn ska visas:

[[Wayfinder]]

MODX kommer att ersätta den taggen med en meny med alla sidor på din webbplats. Som standard visar Wayfinder menyalternativen som länkar i en oordnad lista, men du kan konfigurera den för att skapa vilken typ av meny du vill. Jag har sett rullgardinsmenyer, horisontella menyer, vertikala menyer, fisheye menyer, megamenus, popupmenyer och till och med cirkulära menyer, alla producerade med Wayfinder. Faktum är att jag ännu inte har en meny som inte kan produceras med Wayfinder.

Du kan också använda Wayfinder för att visa menyer från bara en del av din webbplats och du kan ha mer än en Wayfinder-meny på samma sida. Kom ihåg de kryssrutor "Dölj från menyer" och "Publicerade" som vi nämnde tidigare? Wayfinder visar inte opublicerade eller dolda sidor om du inte säger det till.

Ett annat ofta använt stycke är getResources. GetResources-fragmentet visar val av dokument på din webbplats, formaterad men du vill (med MODX-taggar, förstås), sorteras, markeras och visas men du vill ha dem. En vanlig användning av getResources skulle vara att visa titeln och sammanfattningen av de fem eller tio senast skapade dokumenten på webbplatsen, var och en med en länk till hela dokumentet.

Både Wayfinder och getResources använder bitar för deras formatering (den här typen av bit kallas en Tpl-bit i MODX) med HTML-kod och MODX-taggar för de olika elementen som ska visas. Om du vill ändra formateringen eller innehållet i deras produktion kan du helt enkelt redigera Tpl-bitarna (eller skapa din egen).

Bloggar med MODX

Vid en tid var det lite svårt att skapa en blogg i MODX (en bestämd nackdel för många). Nu är artiklarna extra en komplett blogg komponent för MODX som är lätt att använda och konfigurera. Artiklar har kommentarer, taggar, moderering, gängade diskussioner och allt annat du kanske vill ha för din blogg, vilket gör MODX till ett attraktivt alternativ till WordPress.

Sammanfattningsvis

Denna artikel har knappt repad ytan av MODX. Förhoppningsvis har jag gett din aptit om MODX och visat dig lite om hur mycket frihet det ger dig för att skapa den webbplats du har i ditt huvud. Att flytta en icke-MODX-plats till MODX är överraskande lätt. För en kort beskrivning av processen, se denna sida .

Om du är webbdesigner och vill ha ett CMS som ger dig den kreativa friheten att få din webbplats att se exakt ut som du vill, ska du definitivt ge MODX ett försök.