Funciones de smarty mas usadas en html Funciones de smarty mas usadas en php

Capa Motor de Templates


Anteriormente dimos una mirada a la capa vista, que esta compuesta por una serie de archivos .tpl; dentro de estos archivos .tpl encontramos muchas variables de la forma {$var} ahora la pregunta es ¿Quien asigno esas variables a cada template? ¿Quien dijo que se debía mostrar por pantalla esos templates? La respuesta es la capa motor de templates.

Todos los controladores, poseen una variable que se llama $this->engine (que es toda la capa motor de templates), esta variable es realmente un objeto de la clase Smarty, y esta variable contiene todas las funciones de Smarty para php.

Como vemos en el diagrama de capas la capa Controller y la capa Vista estan separadas entre si por la capa motor de templates, es esta capa (esta variable engine) quien envía datos desde el controlador a la vista, y quien selecciona que templates se van a mostrar.

1) Para asignar datos desde el controlador a la vista se usa la función: $this->engine->assign('','') que recibe 2 parámetros, en el primer parámetro, se coloca el nombre de como quiere que se llame la variable en el template, y en el segundo parámetro, se coloca la variable que se quiere asignar (en el siguiente tutorial veremos un ejemplo)

2) Para mostrar templates se usa la función $this->engine->display('') que recibe un parametro que es la ruta del template que se desea mostrar en base al template por defecto.

- Por ejemplo si se desea mostrar el template work/templates/t_dark/example.tpl se debe usar la función de este modo: $this->engine->display('example.tpl')
- Si se desea mostrar el template work/templates/t_dark/admin/example.tpl se debe usar la función de este modo: $this->engine->display('admin/example.tpl')

Importante: la función assign y display no son las únicas funciones de esta capa, por ejemplo en el archivo work/modules/super_controller.php dentro de la función set_gvar_and_engine encontramos otras funciones que usamos para definir unos directorios base de smarty. Igualmente esta capa cuenta con un sistema de cache y con muchas otras funciones que se pueden encontrar en el sitio web Smarty.net
Funciones de smarty mas usadas en html Funciones de smarty mas usadas en php