Comentarios
| El Motor de Plantillas Smarty | ||||
|---|---|---|---|---|
| Antes de utilizar Smarty era necesario saber saber lo que realmente hacia, entonces me di a la tarea de hacer lo
que todos deberiamos hacer; leer el manual.
Como una necesidad de la empresa en donde laboro, y como apoyo a los compañeros, relice la traduccion de la
documentacion de Smarty a español, Todo empezo como necesidad de la empresa despues contacte a los
administradores de Smarty y les comente sobre la traducion.
Mi interes era que si ya existia la traduccion y la estabamos utilizando solo algunas personas, porque no
compartirla con la comunidad. Entonces mande la traduccion y tras la revisiones pertinentes, fue publicada el dia
07-10-2004 de manera oficial en el sitio de Smarty. Smarty, no solamente separa el codigo PHP del codigo HTML, tambien sirve para mantener un orden en nuestra aplicacion ya que de esta manera es mas facil rastrear un error y/o revizar un modulo de nuestra aplicacion; Yo en lo personal, me encuentro mas agusto trabajando con el motor de plantillas que sin el. Mis scripts son mas claros, y tienen una mejor estructura ya que no escriben HTML entre el proceso del PHP. | ||||
| Instalación Para ejecutar Smarty es necesario descargar el archivo de la libreria correspondiente y descomprimirlo. Tambien es necesario asegurarse de que nuestro servidor web utilice PHP 4.0.6 o superior. En el archivo encontraremos algunos archivos informativos además de 3 directorios: /libs, /demo y /misc. Nos interesa el primero '/libs', ya que incluye todo lo que vamos a necesitar para usar Smarty. hay que copiarlo al servidor. Para usar plantillas, necesitaremos ubicar el contenido de los scripts en el archivo Smarty.class.php con ayuda de la función require(). Si somos administradores del servidor que estamos utilizando, debemos encontrar el lugar donde está intalado PHP, y en él, crear una nueva carpeta (podria ser llamada /smarty), en el cual colocaremos el contenido del directorio /libs. Para que no sea necesario invocar al archivo Smarty.class.php, utilizando la ruta de acceso completa (por ejemplo: /usr/local/lib/php/smarty/Smarty.class.php, la agregamos al campo include_path en el archivo php.ini. En caso de que utilicemos el hosting con el soporte de PHP, es suficiente copiar el contenido del directorio /libs (ubicado en el directorio principal de la cuenta). Esta vez, para facilitarnos el trabajo, podemos definir una ruta de acceso en la variable SMARTY_DIR, que se encuentra en el archivo Smarty.class.php. Cuando los archivos ya estén en su lugar, observemos la estructura de directorios donde almacenamos nuestras aplicaciones. El uso correcto de Smarty requiere de la creación de cuatro directorios. Sus nombres por default son /templates, /templates_c, /configs y /cache (a estos directorios les coresponden 4 variables dentro del archivo Smarty.class.php: $template_dir, $compile_dir, $config_dir y $cache_dir). Si ya hemos instalado Smarty, podemos empezar con la creación de nuestras primeras plantillas. | Install fot execute Smarty is necessary to discharge the file of the bookstore corresponding and decompress Also is necessary to be assured that our web server use PHP 4.0.6 or upper. In the file we will find some informative files moreover 3 directories /libs, /demo y /misc. The first one interests us '/libs', this includes everything that we are going to need to use Smarty. copy it the server. To use templates, we will need to locate the content of the scripts in the file Smarty.class.php with aid of the function require(). If we are administrators of the server that are utilizing, we should find the place where is installed PHP, and in him, to create a new folder (to be called /smarty), in which we will place the content of the folder /libs. So that do not be necessary to invoke to the file Smarty.class.php, utilizing for access the path complete for example: usr/local/lib/php/smarty/Smarty.class.php We add it to the field include_path in the file php.ini. In case that we utilize the hosting with the backup of PHP, is sufficient to copy the content of the folder /libs (located in the folder main of the account). This time, to facilitate us the job, we can define a path of access in the variable one SMARTY_DIR, that is found in the file Smarty.class.php. When the files already be in their place, we observe the structure of folder where we store our applications. The correct use of Smarty requires of the creation of four folders. Its names by default are /templates, /templates_c, /configs and /cache (to these folders them correspond 4 variables inside the file Smarty. class. php: $template_dir, $compile_dir, $config_dir y $cache_dir). If already we have installed Smarty, we can begin with the creation of ours first templates. | |||
| Ejemplo de un script con Smarty Definimos smarty, incluyendo la ruta de la libreria y la definicion de la constante SMARTY_DIR para que sea econtrada por el script. cuando estas no hallan sido definidas en el archivo php.ini (modulo.php) Estas son las lineas que se defininen en el script para que reconozca el Smarty | Example the script with Smarty Define smarty, including the route of the bookstore and the definition of the constant SMARTY_DIR so that be it located by the script (modulo.php) These are the line that are defined in the script so that locate Smarty | |||
| ||||
Modulo TPL
| ||||
|
NOTA:El script modulo.tpl, debera estar en el directorio templates/modulo.tpl; NOTA:Cada variable que deseas que sea mostrada en el template, debera ser asignada al objeto de Smarty, para que esta pueda ser encontrada a la hora de pintarla en el template. Ejemplos de asignacion al objeto. $sm->assign("name_var",$valor_name_var); el valor puede venir de una variable. $sm->assign("name_var","valor de name var"); se puede asignar direcatmente el valor. $sm->assign( array("name_var"=>$valor_name_var) ); se pueden asignar arreglos. |
NOTE: The script modulo.tpl, to should be in directory templates/modulo.tpl; NOTE: Every variable what want most show in the template, must be assign teh object the Smarty, for what this be located by the Smarty Template. Example the object assignation. $sm->assign("name_var",$valor_name_var); The value cant come the variable. $sm->assign("name_var","valor de name var"); assing directy the value. $sm->assign( array("name_var"=>$valor_name_var) ); assign arrays. | |||
| Nota | ||||
| El Resultado es un desarrollo de scripts dinamicos en 3 capas. Plantillas de Presentacion con Smarty logica con PHP y la Abstraccion de Base de datos con ADOdb. Cabe mencionar que el aprendizaje y el uso de el lenguaje y las librerias por mi parte fue totalmente empirico ya que no he tomado ningun curso de programacion en PHP ni algun curso extra sobre las las librerias antes mensionadas. | ||||
