Etiquetas de Plantillas en Movable Type

Las etiquetas de plantillas son marcadores para insertar contenido variable almacenado en Movable Type. Durante el proceso de publicación, cada etiqueta de plantilla es responsable de presentar una pieza particular de información. Además, las etiquetas de plantillas son contextuales, lo que significa que la información que muestran está relacionada con el lugar dónde se coloca la etiqueta de plantilla.

Para saber más: Este artículo cubre solo lo más básico del modelo de etiquetas de plantillas. Estas etiquetas de plantillas se enlistan junto con su descripción en un Apéndice en la documentación oficial.

Sintaxis de las Etiquetas de Plantillas

Para los que conocen el lenguaje HTML o XML, las etiquetas de plantillas de Movable Type le parecerán muy familiares. Todas las etiquetas de plantilla se encuentran entre los signos de menor que (<) y mayor que (>). Las etiquetas únicas tienen un signo de división (/) que se localiza antes del símbolo de mayor que (>). Las etiquetas contenedoras de cierre tienen el signo de división (/) después del signo de menor que (<) , pero antes que el nombre de la etiqueta.

Las etiquetas de plantillas también usan prefijos, también llamado espacio de nombres, para diferenciarlas con claridad de HTML y otros lenguajes de marcación que puedan usarse, como PHP, ASP, JSP, etc. Por ejemplo:

<mt:entries>
  <mt:entrytitle />
</mt:entries>

Las etiquetas de plantillas no distinguen las MAYÚSCULAS de las minúsculas, lo que le permite a los diseñadores elegir el esquema de nombres que mejor le convenga. Por ejemplo, las siguientes etiquetas son equivalentes:

  • <mt:FooBar>
  • <mt:foobar>
  • <MT:fooBar>

Es recomendable que los usuarios que usen la sintaxis descrita arriba, la usen en todos sus documentos. Sin embargo, para efectos de compatibilidad con versiones anteriores, Movable Type soporta la codificación tradicional de sintaxis de etiquetas de plantillas. Por ejemplo, los siguientes fragmentos de código son equivalentes:

  • <mt:entries><mt:entrytitle /></mt:entries>
  • <MTEntries><$MTEntryTitle$></MTEntries>

Atributos de las Etiquetas de Plantillas

Algunas etiquetas de plantillas pueden tomar atributos para modificar su comportamiento estándar. Un atributo es otra característica sintáctica de las etiquetas de Movable Type que es familiar para los que ya han trabajado con HTML y XML. Los atributos con pares clave/valor dentro de los signos < y > que siguen al nombre de la etiqueta y están separados por un espacio. Los valores se encierran entre comillas dobles (") o sencillas ('). Por ejemplo:

<mt:entries lastn="40">
  <mt:entrytitle />
</mt:entries>

En este ejemplo lastn es un atributo para la etiqueta contenedora mt:entries con un valor de 40. El atributo lastn modifica el comportamiento de mt:entries al listar las últimas 40 entradas en lugar del número estándar (configurado en las opciones de visualización del blog). Muchas etiquetas de plantilla tienen atributos opcionales y algunas incluso tienen atributos obligatorios.

Tipos de Etiquetas de Plantillas

A continuación se explican las tres clases de etiquetas de plantillas (Variables, Contenedoras y Condicionales) para entender como se usan con respecto a la sintaxis y el contexto.

Etiquetas Variables

Las etiquetas Variables son simples indicadores que representan una pieza de contenido, como el nombre del blogo o el título de una entrada particular. Por ejemplo:

  • <mt:blogname />
  • <mt:entrytitle />

Etiquetas Contendoras

Las etiquetas Contenedoras se llaman asi porque contienen otras etiquetas y texto y se componen por una etiqueta de apertura y una de cierre (a veces se les llama tagset).

Las etiquetas Contenedoras proporcionan por lo general una lista de cosas sobre las que iterar(repetir) y el contenido dentro se evalúa repetidamente. Por ejemplo:

<mt:entries>
  "<mt:entrytitle />" fue escrito por <mt:entryauthor /> el <mt:entrydate />
</mt:entries>

En el ejemplo de arriba, mt:entries es la etiqueta Contenedora y hace un ciclo con la lista de entradas. Para cada entrada, las etiquetas variables dentro del contenedor muestran el título de la entrada, el usuario y la fecha en la que fue publicada.

Etiquetas Condicionales

Un tercer tipo de etiquetas de plantillas son las llamadas etiquetas Condicionales, una forma especial de etiquetas contenedoras que no iteran, simplemente muestran su salida si y solo si el enunciado condicional que contiene es verdadero.

<mt:ifcommentsmoderated>
  Los comentarios est&aacute;n moderados
</mt:ifcommentsmoderated>

En el ejemplo anterior, el texto “Los comentarios están moderados” se muestra si los comentarios del weblog están moderados.

Las etiquetas Condicionales pueden reconocerse fácilmente porque sus nombres siempre comienzan con mt:if.

Contexto de las Etiquetas de Plantillas

Es necesario comprender lo básico de las etiquetas de plantillas y sus funciones en el motor de plantillas para poder entender lo que quiere decir contexto de las etiquetas. El contexto de las etiquetas es un concepto extremadamente importante que proporciona la ubicación y la forma en que serán tratada las etiquetas por el sistema de publicación.

El contexto se refiere a las condiciones interrelacionadas de la posición de una etiqueta, el uso de esta dentro de una plantilla y su relación con las etiquetas a su alrededor. El contexto de una etiqueta define su comportamiento, su estado e incluso su propósito durante el procesamiento de la plantilla. Observar las etiquetas en esta plantilla de ejemplo:

<mt:entries>
  <mt:entrytitle /> 
</mt:entries>
  <mt:entrytitle /> 

La primera ocurrencia de <mt:entrytitle> se dice que está en el contexto de <mt:entries>. Como se discutió anteriormente, mt:entries representa la lista de las entradas que recorrer el motor de publicación, mostrando el título en cada ciclo. La segunda ocurrencia en este ejemplo, generará un error porque está fuera del contexto de mt:entries; el motor de publicación no sabe de que entrada tiene que mostrar el título.

Contexto explícito vs implícito

El ejemplo de arriba es un ejemplo de contenido explícito. Una etiqueta contenedora, es este caso mt:entries, está creando explícitamente un contexto de entradas para todo el contenido que contiene. Pero mt:entries también debe tener un contexto para poder saber que entradas enlistará. Esto es lo que se conoce como contenido implícito y es proporcionado tanto por la plantilla que contiene la etiqueta, el propio blog e incluso por el mismo sistema.

Asi, por ejemplo, mientras que la etiqueta contenedora mt:entries iterará sobre la mayoría de las entradas recientes de un blog en la plantilla del índice principal, proporcionará la lista de todas las entradas de una categoría en particular en la plantilla de archivos de categorías. Desde luego, la misma etiqueta en la misma plantilla de otro blog podría mostrar diferentes entradas usando ese blog como fuente.

Cada uno de estos contexto, implícito y explícito, se replican hacia abajo hasta formar el contexto final usado para evaluar las etiquetas variables que crean la salida hacia el blog. Esta modificación contextual es importante porque permite en casi todos los casos el uso de exactamente el mismo código en diferentes plantillas in tener que preocuparse por incluir instrucciones extra para el sistema que generará la salida.

Entradas Relacionadas

Escribir un comentario

(Si no dejó aquí ningún comentario anteriormente, quizás necesite aprobación por parte del dueño del sitio, antes de que el comentario aparezca. Hasta entonces, no se mostrará en la entrada. Gracias por su paciencia).