Novedades en Textpattern 4.0.7
En el Dev weblog se están comentando últimamente algunas novedades que incorporará la próxima iteración de nuestro CMS favorito en el “Tag parser” (intérprete de etiquetas txp) que, en cierta medida, revolucionarán nuestra forma de usar Txp.
Etiquetas como parámetros de otras etiquetas
La primera de las novedades es ¡por fin! la posibilidad de usar etiquetas como parámetros de otras etiquetas, lo que abre un abanico inmenso de posibilidades, permitirá simplificar mucho nuestras plantillas y prescindir de gran número de plugins que hasta ahora tenemos que usar para conseguir el mismo resultado.
Al fin podremos hacer fácilmente cosas como esta:
<txp:email
email='<txp:custom_field name="email" />'
linktext="Enviar un email"
title='Enviar un email a <txp:custom_field name="name" />'
/>
Si nos fijamos, bastará con emplear comillas simples para forzar el parseo de las etiquetas txp que estemos empleando como parámetros de otras etiquetas, mientras que los parámetros literales se mantienen encerrados entre comillas dobles.
Etiquetas contenedoras como alternativa al uso de forms
A mi juicio mucho menos relevante que lo anterior, aunque interesante, es la nueva posibilidad de reemplazar el uso de “forms” convirtiendo etiquetas autocerradas en etiquetas contenedoras de la plantilla que deben usar para devolver sus resultados.
Aunque a mi entender ésto invita a hacer un código más sucio y menos modular, en ocasiones resultará más cómodo que llamar a un form para, por ejemplo, emplantillar la salida de un txp:article custom.
Si hasta ahora teníamos que hacer algo así:
<txp:article custom wraptag="ul" form="formulario-plantilla-listado" />
A partir de la 4.0.7 tendremos la posibilidad de poder hacer algo así:
<txp:article custom wraptag="ul">
<li class="foo"><txp:permalik><txp:title/><txp:permalik></li>
</txp:article custom>
Una ventaja clara de esta nueva opción aunque no nos guste este método es que nos permite probar cosas sin cambiar de página y, cuando quedemos satisfechos con el resultado, ya podemos cortar el código y pegarlo en un nuevo form. Por lo visto, a nivel de rendimiento, no existe una diferencia significativa entre el uso de un método u otro.


