Muchos desarrolladores de sitios web se alejan del MODX CMS porque piensan (o lo han escuchado) que es principalmente para desarrolladores que son expertos en la codificación de PHP y JavaScript.

Si bien MODX tiene componentes potentes para que los codificadores expertos los usen, también hay muchas ventajas para los diseñadores menos expertos en tecnología. El más importante de estos es la libertad creativa que proporciona MODX. Le permite hacer fácilmente que su sitio web se vea exactamente como lo desea, sin compromisos.

MODX fue desarrollado por programadores web que estaban frustrados con las limitaciones creativas de otras plataformas CMS. Odiaban tener que trabajar en sistemas que tenían nociones integradas de cómo debería construirse un sitio web y dónde poner las cosas para que funcionen.

También querían hacer un mejor trabajo separando el contenido de un sitio web del código que presentaba ese contenido, una práctica que hace que sea mucho más fácil rediseñar y mantener sitios web.

Plantillas

Lo que podría llamarse el "primer principio" de MODX es, siempre que sea posible, permitir que el diseñador del sitio haga lo que quiera y hacerlo fácilmente. En el corazón de esta libertad creativa están las plantillas MODX y las etiquetas MODX.

Una plantilla MODX no es más que una página de código HTML (y, opcionalmente, etiquetas MODX y JavaScript). Puede elegir una página en un sitio que no sea CMS y pegar el código HTML de esa página en una plantilla MODX, ajustar las URL de los archivos CSS y luego decirle a MODX que use esa plantilla cuando muestre un documento particular en el sitio. Eso tomaría menos de 5 minutos, y cuando vea la página MODX, se verá exactamente igual a como lo hizo en el sitio original. La única restricción es que no puede tener ningún código PHP en la página (más sobre esto más adelante).

Pegar el código de una página completa en una plantilla ignoraría muchas de las poderosas características de MODX, pero ayuda a demostrar cuánta libertad tiene al crear sitios web MODX.

Etiquetas

La potencia principal de MODX proviene de las etiquetas MODX. Esencialmente, las etiquetas MODX representan las cosas que usted mueve fuera de la plantilla y las coloca en otro lugar por conveniencia y flexibilidad añadida. Lo que queda en la plantilla suele ser el shell HTML y las etiquetas MODX.

La operación básica del motor MODX es increíblemente simple. Cuando un navegador solicita una página web, MODX comprueba qué plantilla está asociada a esa página. Obtiene la plantilla, reemplaza cualquier etiqueta MODX en la plantilla y la envía al navegador. Eso es.

La capacidad de tener un sitio web dinámico y creativo en MODX proviene de lo que las etiquetas pueden representar. Hay varios tipos de etiquetas, y cada una se reemplaza por algo diferente. Todas las etiquetas son opcionales y cualquier etiqueta puede ir a cualquier lugar en la plantilla. Veamos un ejemplo simple que involucra lo que se llama etiquetas "trozos".

Nota: Los ejemplos aquí son para MODX Revolution. MODX Evolution utiliza un estilo de etiqueta ligeramente diferente, pero los conceptos son los mismos.

En MODX, un "fragmento" es solo un poco de código HTML que desea usar en más de una página. Puede ser un encabezado, pie de página, barra lateral, menú o cualquier otra cosa. Digamos que es un pie de página que desea mostrar en cada página (o algún subconjunto de sus páginas). Puede crear el fragmento en el Administrador de MODX, escribir el código HTML para el pie de página, darle un nombre (FooterChunk) y luego guardarlo. Ahora, en su plantilla, simplemente coloca la siguiente etiqueta donde desea que aparezca ese pie de página:

[[$FooterChunk]]

Cada página que usa esa plantilla mostrará el fragmento de pie de página en esa ubicación. Si decide cambiar el texto o HTML del pie de página, simplemente edite el FooterChunk y la nueva versión aparecerá en todas sus páginas. Si desea el pie de página en otro lugar de la página, simplemente mueva la etiqueta en la plantilla.

Otro tipo de etiqueta en MODX es la etiqueta de "contenido de recursos" (generalmente denominada etiqueta de "contenido" para abreviar). En MODX, cada página web corresponde a un documento almacenado en la base de datos MODX. Cuando crea una nueva página para un sitio web MODX, se le presenta un formulario que puede completar con información sobre el documento.

Hay campos de entrada de texto para un Título, Longtitle, Descripción, Resumen, Alias ​​(para usar en la URL), Contenido (el contenido principal de la página) y Título del menú (utilizado automáticamente en los menús). Hay casillas de verificación que indican si el documento está publicado y si debe ocultarse de los menús.

También hay campos de fecha para indicar la publicación futura o las fechas de no publicación y la fecha en que se publicó el documento.

También hay otros campos, pero aquí vemos la flexibilidad de MODX: ¡ todos los campos excepto el Título y el Alias ​​son opcionales! Cada página debe tener un título y algo para poner en la URL de la página, pero depende completamente de usted si usar los otros campos o no. Lo que va en los otros campos también depende de usted. Es casi seguro que desea colocar el contenido principal de la página en el campo de contenido, pero no es necesario. Si desea utilizar el campo Título largo para almacenar el signo astrológico del usuario perfilado en la página, continúe adelante.

Para volver a las etiquetas de "contenido", representan los campos del formulario. Cuando MODX ve una etiqueta de contenido, la reemplaza con el valor del campo de formulario nombrado. En el lugar donde desea que aparezca el contenido principal de la página, por ejemplo, coloca esta etiqueta en la plantilla:

[[*content]]

Donde quiera que aparezca el Título Largo de la página (si así lo desea), coloque esta etiqueta:

[[*longtitle]]

Para el título principal, usarías esta etiqueta:

[[*pagetitle]]

Si decide que desea que el Título o Título Largo aparezca en otro lugar, simplemente mueva las etiquetas en su plantilla. Si no desea mostrar el Título largo, quite la etiqueta de su plantilla. Si desea que aparezca lo que está en el título largo en el pie de página, incluso puede mover su etiqueta al FooterChunk que mencionamos anteriormente. Para usar un ejemplo poco probable, incluso podría poner la URL de la ruta al archivo CSS que desea usar para la página en el campo Título Largo y poner esta etiqueta en la sección de encabezado de su plantilla:

MODX es muy simple cuando se trata de etiquetas. Cuando ve una etiqueta MODX, la reemplaza con lo que representa. No importa qué es o por qué lo está poniendo allí. Supone que sabes lo que quieres y actúa en consecuencia. No hay problemas para descubrir lo que quiere MODX o por qué no está haciendo lo que quieres porque simplemente hace lo que le dices. Créanme, es un cambio agradable de tener que lidiar con un CMS que cree saber más sobre lo que quieren que usted, o tiene ideas preconcebidas sobre cómo deberían mostrarse las cosas o dónde deberían ubicarse.

Fragmentos

Anteriormente en el artículo, mencioné el código PHP. En MODX, el código PHP va en un fragmento, que es cualquier código PHP que quiera usar en el sitio. Cuando MODX ve una etiqueta de fragmento, la reemplaza con lo que devuelve el fragmento. Poner el código PHP en fragmentos hace que el sitio sea mucho más seguro y fácil de mantener porque el código está separado del contenido. Si algún pirata informático logra poner una página en su sitio que contiene código PHP malicioso, MODX ignorará el código porque no está en un fragmento.

Si no eres un codificador de PHP, seguirás usando etiquetas de fragmento porque hay componentes de complemento de MODX (generalmente llamados "extras" en MODX) que harán mucho del trabajo pesado en tu sitio.

El fragmento de Wayfinder, por ejemplo, producirá un menú a partir de los documentos en su sitio. Si crea una nueva página, aparecerá automáticamente en el menú. En su forma más simple, simplemente coloca una etiqueta como esta en la que desea que aparezca el menú:

[[Wayfinder]]

MODX reemplazará esa etiqueta con un menú de todas las páginas de su sitio. Por defecto, Wayfinder muestra las opciones del menú como enlaces en una lista desordenada, pero puede configurarlo para crear cualquier tipo de menú que desee. He visto menús desplegables, menús horizontales, menús verticales, menús de ojo de pez, megamenús, menús emergentes, e incluso menús circulares, todos producidos con Wayfinder. De hecho, todavía tengo que ver un menú que no se puede producir con Wayfinder.

También puede usar Wayfinder para mostrar menús de solo una parte de su sitio y puede tener más de un menú de Wayfinder en la misma página. ¿Recuerdas las casillas de verificación "Ocultar de los menús" y las que mencionamos anteriormente? Wayfinder no mostrará páginas inéditas u ocultas a menos que se lo indique.

Otro fragmento de uso frecuente es getResources. El fragmento de getResources mostrará selecciones de documentos en su sitio, formateado de la manera que desee (usando etiquetas MODX, por supuesto), ordenado, seleccionado y mostrado como usted lo desee. Un uso común de getResources sería mostrar el título y el resumen de los cinco o diez documentos creados más recientemente en el sitio, cada uno con un enlace al documento completo.

Tanto Wayfinder como getResources usan fragmentos para su formateo (este tipo de fragmento se llama un fragmento Tpl en MODX) con código HTML y etiquetas MODX para los diversos elementos que se mostrarán. Si desea cambiar el formato o el contenido de su salida, simplemente puede editar los fragmentos Tpl (o crear los suyos propios).

Blogging con MODX

En un momento, fue algo difícil crear un blog en MODX (un inconveniente definitivo para muchas personas). Ahora, sin embargo, los artículos adicionales son un componente de blog con todas las funciones para MODX que es fácil de usar y configurar. Los artículos tienen comentarios, etiquetas, moderación, discusiones con hilos y todo lo que pueda desear para su blog, lo que hace de MODX una alternativa atractiva a WordPress.

En conclusión

Este artículo apenas ha arañado la superficie de MODX. Afortunadamente, he despertado tu apetito por MODX y te he mostrado un poco acerca de la libertad que te da para crear el sitio web que tienes en mente. Mover un sitio que no es MODX a MODX es sorprendentemente fácil. Para una breve descripción del proceso, vea esta página .

Si usted es un diseñador web y desea un CMS que le permita la libertad creativa para hacer que su sitio se vea exactamente como usted lo desea, definitivamente debe darle una oportunidad a MODX.