Curso rápido de plantillas v2




Las plantillas pueden contener código HTML con estas limitaciones:
  • No incluir tags <html> <head> o <body> ya que estos ya los incluye automáticamente el editor
  • Si utilizas corchetes { o } estos deben ir encerrados entre etiquetas {literal} ... {/literal} para no confundirlos con las variables que tambien los utilizan
  • No incluir librerías jQuery ya que el propio gestor ya las incluye automaticamente


Cada plantilla tiene un conjunto de variables disponibles como {$article} al visualizar un articulo que pueden ser usadas para crear campos. Consultar el listado de variables definidas en cada plantilla.




Los tipos de variables

Existen los siguientes tipos de variables básicos
  • Las cadenas de texto
  • Las listas
  • Los objetos


Las listas


Nombre en plural implica foreach.
Así que no existe objeto $imagen, sino $imagenes, que por el nombre será un tipo lista. Para poder usarlas tienes que partirla en iotras variables. Para ellos hay dos modos:
  1. Con un foreach
  2. Accediendo directamente a una posición



Las listas: el foreach

1. {foreach from=$imagenes item=imagen} y dentro de ese foreach puedes usar el objeto $imagen. Esto es lo que usaba en el código de ejemplo.


Las listas: Acceder directamente a la posición

2. Acceder directamente y en este caso se llamaría $imagenes[0] Creo que esto es lo que intentas hacer.

En todo caso siempre tienes que partir de los objetos que están definidos cuando muestras algun dato.
Si usas $imagenes[0] (osea referenciar directamente al primer objeto de la lista) corres el riesgo de que la lista no contenga elementos y por lo tanto el primer objeto de la lista no exista.




Publicar un campo fecha

Las variables de tipo fecha permiten especificar su formato con el filtro date_format.

Ejemplo: {$article->date} producirá la salida "Lunes, 5 de febrero de 2017 17:00"

La explicación detallada sobre su uso está en la documentación de Smarty (http://www.smarty.net/docsv2/es/language.modifier.date.format.tpl). Para ver todos los campos disponibles consultar la documentación de PHP.