Beaucoup de constructeurs de sites Web se détournent du CMS MODX parce qu'ils pensent (ou ont entendu) que c'est principalement pour les développeurs qualifiés en PHP et en JavaScript.

Alors que MODX possède des composants puissants à utiliser par les codeurs qualifiés, il existe de nombreux avantages pour les concepteurs moins technophiles. Le plus important d'entre eux est la liberté de création offerte par MODX. Il vous permet de créer facilement votre site Web exactement comme vous le souhaitez, sans compromis.

MODX a été développé par des programmeurs Web frustrés par les limites créatives des autres plates-formes CMS. Ils détestaient devoir travailler sur des systèmes qui avaient des notions intégrées sur la façon dont un site Web devait être construit et où placer les choses pour qu’elles fonctionnent.

Ils souhaitaient également mieux séparer le contenu d'un site Web du code présentant ce contenu, une pratique qui facilite grandement la reconception et la maintenance des sites Web.

Modèles

Ce que l'on pourrait appeler le "premier principe" de MODX consiste, chaque fois que possible, à laisser le concepteur du site faire ce qu'il veut et à le faire facilement. Les modèles MODX et les tags MODX sont au cœur de cette liberté de création.

Un modèle MODX n'est rien d'autre qu'une page de code HTML (et éventuellement des balises MODX et JavaScript). Vous pouvez choisir une page sur un site non-CMS et coller le code HTML de cette page dans un modèle MODX, ajuster les URL de tous les fichiers CSS, puis indiquer à MODX d'utiliser ce modèle pour afficher un document particulier sur le site. Cela prendrait moins de 5 minutes et, lorsque vous visualisiez la page MODX, elle aurait exactement la même apparence que sur le site d'origine. La seule restriction est que vous ne pouvez pas avoir de code PHP sur la page (plus tard).

Coller le code pour une page entière dans un modèle ignore plusieurs des puissantes fonctionnalités de MODX, mais il aide à démontrer à quel point vous avez la liberté de créer des sites Web MODX.

Mots clés

La puissance principale de MODX provient des balises MODX. Essentiellement, les balises MODX représentent des éléments que vous sortez du modèle et placez-les ailleurs pour plus de commodité et de flexibilité. Ce qui reste dans le modèle est généralement le shell HTML et les balises MODX.

Le fonctionnement de base du moteur MODX est incroyablement simple. Lorsqu'une page Web est demandée par un navigateur, MODX vérifie quel modèle est associé à cette page. Il récupère le modèle, remplace les balises MODX dans le modèle et les envoie au navigateur. C'est tout.

La possibilité d'avoir un site Web dynamique et créatif dans MODX provient de ce que les tags peuvent représenter. Il existe un certain nombre de types de tags et chacun est remplacé par quelque chose de différent. Toutes les balises sont facultatives et toute balise peut aller n'importe où dans le modèle. Regardons un exemple simple impliquant ce qu'on appelle des "chunk" tags.

Note: Les exemples ici sont pour MODX Revolution. MODX Evolution utilise un style de tag légèrement différent, mais les concepts sont les mêmes.

Dans MODX, un "morceau" est juste un peu du code HTML que vous souhaitez utiliser sur plus d'une page. Il peut s'agir d'un en-tête, d'un pied de page, d'une barre latérale, d'un menu ou de toute autre chose. Disons que c'est un pied de page que vous voulez afficher sur chaque page (ou un sous-ensemble de vos pages). Vous créez le bloc dans le gestionnaire MODX, tapez le code HTML pour le pied de page, donnez-lui un nom (FooterChunk), puis enregistrez-le. Maintenant, dans votre modèle, vous venez de placer la balise suivante à l'endroit où vous souhaitez que ce pied de page apparaisse:

[[$FooterChunk]]

Chaque page qui utilise ce modèle affiche le segment de pied de page à cet endroit. Si vous décidez de changer le texte ou le code HTML du pied de page, il vous suffit d’éditer le FooterChunk et la nouvelle version apparaîtra sur toutes vos pages. Si vous souhaitez placer le bas de page ailleurs sur la page, déplacez simplement la balise dans le modèle.

Un autre type de balise dans MODX est la balise "content content" (généralement appelée balise "content" en abrégé). Dans MODX, chaque page Web correspond à un document stocké dans la base de données MODX. Lorsque vous créez une nouvelle page pour un site Web MODX, vous obtenez un formulaire que vous pouvez remplir avec des informations sur le document.

Il existe des champs de saisie de texte pour un titre, un titre, une description, un résumé, un alias (à utiliser dans l'URL), un contenu (le contenu principal de la page) et un titre de menu (utilisé automatiquement dans les menus). Des cases à cocher indiquent si le document est publié et s'il doit être masqué des menus.

Il existe également des champs de date pour indiquer les dates de publication ou de non-publication futures et la date de publication du document.

Il y a aussi d'autres champs, mais là encore, nous voyons la flexibilité de MODX - tous les champs sauf le titre et l'alias sont facultatifs! Chaque page doit avoir un titre et quelque chose à mettre dans l'URL de la page, mais c'est à vous de décider si vous souhaitez utiliser les autres champs ou non. Ce qui se passe dans les autres domaines dépend également de vous. Vous voulez certainement mettre le contenu principal de la page dans le champ de contenu, mais vous n’avez pas à le faire. Si vous souhaitez utiliser le champ Titre long pour stocker le signe astrologique de l'utilisateur profilé sur la page, allez tout de suite.

Pour revenir aux balises "content", elles représentent les champs du formulaire. Lorsque MODX voit une balise de contenu, il la remplace par la valeur du champ de formulaire nommé. À l'endroit où vous souhaitez que le contenu principal de la page apparaisse, par exemple, vous placez cette balise dans le modèle:

[[*content]]

Où vous voulez que le titre long de la page apparaisse (si vous le voulez du tout), vous mettez cette balise:

[[*longtitle]]

Pour le titre principal, vous utiliseriez cette balise:

[[*pagetitle]]

Si vous souhaitez que le titre ou le titre long apparaisse ailleurs, déplacez simplement les balises dans votre modèle. Si vous ne souhaitez pas afficher le titre long, vous supprimez l'étiquette de votre modèle. Si vous voulez que tout ce qui figure dans le titre long apparaisse dans le pied de page, vous pouvez même déplacer sa balise dans le pied de page que nous avons mentionné précédemment. Pour utiliser un exemple improbable, vous pouvez même placer l'URL du chemin vers le fichier CSS que vous souhaitez utiliser pour la page dans le champ Titre long et placer cette balise dans la section head de votre modèle:

MODX est très simple quand il s'agit de tags. Quand il voit une balise MODX, il la remplace par ce qu'elle représente. Il ne se soucie pas de ce que c'est ou pourquoi vous le mettez là. Cela suppose que vous savez ce que vous voulez et agit en conséquence. Il n'y a pas de difficulté à comprendre ce que veut MODX ou pourquoi il ne fait pas ce que vous voulez, car il ne fait que ce que vous lui dites. Croyez-moi, c'est un changement agréable d'avoir à gérer un CMS qui pense en savoir plus sur ce que vous voulez ou a des idées préconçues sur la façon dont les choses doivent être affichées ou sur lesquelles elles doivent être localisées.

Des extraits

Plus tôt dans l'article, j'ai mentionné le code PHP. Dans MODX, le code PHP se trouve dans un extrait de code, qui ne représente que le code PHP que vous souhaitez utiliser sur le site. Lorsque MODX détecte un tag d'extrait, il le remplace par tout ce qui est renvoyé par l'extrait de code. Mettre du code PHP dans des extraits rend le site beaucoup plus sûr et plus facile à gérer car le code est séparé du contenu. Si un pirate parvient à placer sur votre site une page contenant du code PHP malveillant, MODX ignorera le code car il ne se trouve pas dans un extrait de code.

Si vous n'êtes pas un codeur PHP, vous utiliserez toujours les balises snippet car il existe des composants complémentaires MODX (généralement appelés «extras» dans MODX) qui feront beaucoup d'efforts sur votre site.

L’extrait de Wayfinder, par exemple, produira un menu à partir des documents de votre site. Si vous créez une nouvelle page, celle-ci apparaîtra automatiquement dans le menu. Dans sa forme la plus simple, il vous suffit de placer une balise comme celle-ci où vous voulez que le menu apparaisse:

[[Wayfinder]]

MODX remplacera cette balise par un menu de toutes les pages de votre site. Par défaut, Wayfinder affiche les options du menu sous forme de liens dans une liste non ordonnée, mais vous pouvez le configurer pour créer n'importe quel type de menu. J'ai vu des menus déroulants, des menus horizontaux, des menus verticaux, des menus fisheye, menus contextuels, et même des menus circulaires, tous produits avec Wayfinder. En fait, je n'ai pas encore vu un menu qui ne peut pas être produit avec Wayfinder.

Vous pouvez également utiliser Wayfinder pour afficher des menus provenant d'une partie seulement de votre site et vous pouvez avoir plusieurs menus Wayfinder sur la même page. Rappelez-vous les cases à cocher "Hide From Menus" et "Published" que nous avons mentionnées plus tôt? Wayfinder n’affichera pas les pages non publiées ou cachées, sauf indication contraire de votre part.

Un autre extrait souvent utilisé est getResources. L'extrait getResources affiche les sélections de documents sur votre site, formatées comme bon vous semble (en utilisant bien entendu les balises MODX), triées, sélectionnées et affichées comme vous le souhaitez. Une utilisation courante de getResources consisterait à afficher le titre et le résumé des cinq ou dix derniers documents créés sur le site, chacun comportant un lien vers le document complet.

Wayfinder et getResources utilisent tous deux des blocs pour leur mise en forme (ce type de bloc est appelé morceau Tpl dans MODX) avec le code HTML et les balises MODX pour les différents éléments à afficher. Si vous souhaitez modifier le format ou le contenu de leur sortie, vous pouvez simplement modifier les blocs Tpl (ou créer les vôtres).

Bloguer avec MODX

À une certaine époque, il était difficile de créer un blog dans MODX (un inconvénient certain pour de nombreuses personnes). Maintenant, les articles supplémentaires sont un composant de blog complet pour MODX, facile à utiliser et à configurer. Les articles contiennent des commentaires, des balises, de la modération, des discussions et tout ce que vous pourriez souhaiter pour votre blog, faisant de MODX une alternative attrayante à WordPress.

En conclusion

Cet article a à peine rayé la surface de MODX. J'espère que j'ai mis votre appétit au sujet de MODX et vous a montré un peu combien de liberté cela vous donne de créer le site Web que vous avez dans votre tête. Déplacer un site non-MODX vers MODX est étonnamment simple. Pour une brève description du processus, voir cette page .

Si vous êtes un concepteur de sites Web et que vous voulez un CMS qui vous offre la liberté créative de faire en sorte que votre site ressemble exactement à vos souhaits, vous devriez certainement essayer MODX.