Molti costruttori di siti Web si astengono dal MODX CMS perché pensano (o hanno sentito) che è principalmente per gli sviluppatori esperti di codifica PHP e JavaScript.

Mentre MODX ha componenti potenti da usare per i programmatori esperti, ci sono molti vantaggi anche per i progettisti meno esperti di tecnologia. La più importante di queste è la libertà creativa fornita da MODX. Ti permette di rendere facilmente il tuo sito web esattamente come lo vuoi, senza compromessi.

MODX è stato sviluppato da programmatori web che erano frustrati dalle limitazioni creative di altre piattaforme CMS. Odiavano dover lavorare su sistemi che avevano nozioni incorporate su come un sito web dovrebbe essere costruito e dove mettere le cose in modo che funzionassero.

Volevano anche fare un lavoro migliore per separare il contenuto di un sito web dal codice che presentava quel contenuto - una pratica che rende molto più semplice la riprogettazione e la manutenzione dei siti web.

Modelli

Quello che potrebbe essere definito il "primo principio" di MODX è, quando possibile, permettere al progettista del sito di fare quello che vuole e farlo facilmente. Al centro di questa libertà creativa ci sono i modelli MODX e i tag MODX.

Un modello MODX non è altro che una pagina di codice HTML (e facoltativamente tag MODX e JavaScript). Puoi scegliere una pagina su un sito non CMS e incollare il codice HTML per quella pagina in un modello MODX, regolare gli URL per qualsiasi file CSS e quindi dire a MODX di usare quel modello quando mostra un particolare documento sul sito. Ci sarebbero voluti meno di 5 minuti e, quando hai visto la pagina MODX, apparirebbe esattamente come nel sito originale. L'unica restrizione è che non è possibile avere alcun codice PHP sulla pagina (ne parleremo più avanti).

Incollare il codice di un'intera pagina in un modello ignorerebbe molte delle potenti funzionalità di MODX, ma aiuta a dimostrare quanta libertà si ha nella creazione di siti Web MODX.

tag

La potenza principale di MODX deriva dai tag MODX. In sostanza, i tag MODX rappresentano elementi che vengono spostati fuori dal modello e inseriti altrove per maggiore praticità e maggiore flessibilità. Ciò che rimane nel modello è in genere la shell HTML e i tag MODX.

L'operazione di base del motore MODX è incredibilmente semplice. Quando una pagina Web viene richiesta da un browser, MODX controlla per vedere quale modello è associato a quella pagina. Ottiene il modello, sostituisce tutti i tag MODX nel modello e lo invia al browser. Questo è tutto.

La possibilità di avere un sito web dinamico e creativo in MODX deriva da ciò che i tag possono rappresentare. Esistono numerosi tipi di tag e ognuno è sostituito da qualcosa di diverso. Tutti i tag sono opzionali e qualsiasi tag può andare ovunque nel modello. Diamo un'occhiata ad un semplice esempio che coinvolge quelli che vengono chiamati tag "chunk".

Nota: gli esempi qui sono per MODX Revolution. MODX Evolution utilizza uno stile di tag leggermente diverso, ma i concetti sono gli stessi.

In MODX, un "chunk" è solo un po 'di codice HTML che si desidera utilizzare su più di una pagina. Potrebbe essere un'intestazione, un piè di pagina, una barra laterale, un menu o qualsiasi altra cosa. Diciamo che è un piè di pagina che vuoi mostrare su ogni pagina (o qualche sottoinsieme delle tue pagine). Si crea il blocco in MODX Manager, si digita il codice HTML per il footer, si assegna un nome (FooterChunk) e quindi lo si salva. Ora, nel tuo modello, inserisci il seguente tag dove vuoi che appaia il piè di pagina:

[[$FooterChunk]]

Ogni pagina che utilizza quel modello mostrerà il pezzo di footer in quella posizione. Se decidi di modificare il testo o l'HTML del piè di pagina, devi semplicemente modificare il FooterChunk e la nuova versione apparirà su tutte le tue pagine. Se vuoi il piè di pagina da qualche altra parte sulla pagina, devi solo spostare il tag nel modello.

Un altro tipo di tag in MODX è il tag "resource content" (in genere definito tag "content"). In MODX, ogni pagina web corrisponde a un documento memorizzato nel database MODX. Quando crei una nuova pagina per un sito web MODX, ti viene presentato un modulo che puoi compilare con le informazioni sul documento.

Sono disponibili campi di immissione testo per Titolo, Longtitolo, Descrizione, Riepilogo, Alias ​​(da utilizzare nell'URL), Contenuto (il contenuto principale della pagina) e Titolo del menu (utilizzati automaticamente nei menu). Esistono checkbox che indicano se il documento è pubblicato e se deve essere nascosto dai menu.

Ci sono anche campi data per indicare le date di pubblicazione o di non pubblicazione future e la data in cui il documento è stato pubblicato.

Ci sono anche altri campi, ma anche qui vediamo la flessibilità di MODX - tutti i campi tranne il Titolo e l'Alias ​​sono opzionali! Ogni pagina deve avere un titolo e qualcosa da inserire nell'URL della pagina, ma dipende interamente da te se utilizzare gli altri campi o meno. Ciò che va negli altri campi dipende anche da te. Quasi sicuramente vuoi mettere il contenuto principale della pagina nel campo del contenuto, ma non devi. Se si desidera utilizzare il campo Titolo lungo per memorizzare il segno astrologico dell'utente profilato nella pagina, andare avanti.

Per tornare ai tag "content", rappresentano i campi del modulo. Quando MODX vede un tag di contenuto, lo sostituisce con il valore del campo modulo denominato. Nel punto in cui desideri visualizzare il contenuto principale della pagina, ad esempio, inserisci questo tag nel modello:

[[*content]]

Dove vuoi che appaia il Long Title della pagina (se lo vuoi), metti questo tag:

[[*longtitle]]

Per il titolo principale, dovresti usare questo tag:

[[*pagetitle]]

Se decidi di far apparire il titolo o il titolo lungo da qualche altra parte, devi semplicemente spostare i tag nel modello. Se non vuoi mostrare il Titolo lungo, rimuovi il tag dal tuo modello. Se vuoi che qualsiasi cosa nel Titolo lungo appaia nel piè di pagina, puoi persino spostare il suo tag nel FooterChunk di cui abbiamo parlato prima. Per utilizzare un esempio improbabile, potresti persino inserire l'URL del percorso del file CSS che desideri utilizzare per la pagina nel campo Titolo lungo e inserire questo tag nella sezione head del modello:

MODX è molto semplice quando si tratta di tag. Quando vede un tag MODX, lo sostituisce con ciò che rappresenta. Non importa cosa sia o perché lo stai mettendo lì. Presume che tu sappia ciò che vuoi e agisca di conseguenza. Non c'è da fare per capire cosa vuole MODX o perché non sta facendo quello che vuoi perché fa solo quello che dici. Fidati di me, è un piacevole cambiamento dal dover gestire un CMS che pensa di sapere di più su ciò che vuoi di te, o ha nozioni preconcette su come le cose dovrebbero essere mostrate o dove dovrebbero essere localizzate.

Frammenti

All'inizio dell'articolo, ho citato il codice PHP. In MODX, il codice PHP va in uno snippet, che è solo un po 'di codice PHP che si desidera utilizzare sul sito. Quando MODX vede un tag snippet, lo sostituisce con quello che viene restituito dallo snippet. Mettere il codice PHP in frammenti rende il sito molto più sicuro e facile da mantenere perché il codice è separato dal contenuto. Se un hacker riesce a inserire una pagina sul tuo sito che contiene codice PHP dannoso, MODX ignorerà il codice perché non si trova in uno snippet.

Se non sei un programmatore PHP, continuerai ad usare tag snippet perché ci sono componenti aggiuntivi MODX (di solito chiamati "extra" in MODX) che faranno un sacco di problemi nel tuo sito.

Il frammento di Wayfinder, ad esempio, produrrà un menu dai documenti sul tuo sito. Se crei una nuova pagina, questa apparirà automaticamente nel menu. Nella sua forma più semplice, metti semplicemente un tag come questo dove vuoi che appaia il menu:

[[Wayfinder]]

MODX sostituirà quel tag con un menu di tutte le pagine del tuo sito. Per impostazione predefinita, Wayfinder visualizza le opzioni di menu come collegamenti in un elenco non ordinato, ma puoi configurarlo per creare qualsiasi tipo di menu desiderato. Ho visto menu a tendina a discesa, menu orizzontali, menu verticali, menu fisheye, megamenus, menu popup e anche menu circolari, tutti prodotti con Wayfinder. In effetti, devo ancora vedere un menu che non può essere prodotto con Wayfinder.

Puoi anche utilizzare Wayfinder per mostrare i menu solo da una parte del tuo sito e puoi avere più di un menu Wayfinder sulla stessa pagina. Ricorda le caselle "Nascondi dai menu" e "Pubblicate" che abbiamo menzionato prima? Wayfinder non mostrerà pagine non pubblicate o nascoste a meno che tu non lo dica.

Un altro snippet spesso usato è getResources. Lo snippet getResources mostrerà selezioni di documenti sul tuo sito, formattati come preferisci (usando i tag MODX, ovviamente), ordinati, selezionati e visualizzati come desideri. Un uso comune di getResources sarebbe quello di mostrare il titolo e il riepilogo dei cinque o dieci documenti creati più di recente sul sito, ciascuno con un collegamento al documento completo.

Sia Wayfinder che getResources usano chunks per la loro formattazione (questo tipo di blocco è chiamato un blocco Tpl in MODX) con codice HTML e tag MODX per i vari elementi da mostrare. Se vuoi cambiare la formattazione o il contenuto del loro output, puoi semplicemente modificare i blocchi Tpl (o crearne uno tuo).

Blogging con MODX

Un tempo, era un po 'difficile creare un blog in MODX (un vero difetto per molte persone). Ora, tuttavia, l'articolo extra è un componente blog completo per MODX che è facile da usare e configurare. Gli articoli contengono commenti, tag, moderazione, discussioni discussioni e tutto il resto che potresti desiderare per il tuo blog, rendendo il MODX un'alternativa interessante a WordPress.

In conclusione

Questo articolo ha appena scalfito la superficie di MODX. Spero di aver stuzzicato l'appetito per MODX e di averti mostrato un po 'di quanta libertà ti dà nella creazione del sito web che hai in testa. Spostare un sito non MODX su MODX è sorprendentemente facile. Per una breve descrizione del processo, vedi questa pagina .

Se sei un web designer e vuoi un CMS che ti permetta la libertà creativa di far apparire il tuo sito esattamente come lo desideri, dovresti assolutamente provare MODX.