Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Smarty - El motor compilador de Plantillas para PHP

Monte Ohrt <monte at ohrt dot com>

Andrei Zmievski <andrei@php.net>

Mario Ramírez <mario_ramirez@fjcorona.com.mx>

2010-09-20


Table of Contents

Prólogo
I. Iniciando
1. Que es Smarty?
2. Instalación
Requerimentos
Instalación Básica
Expandiendo la configuración
II. Smarty For Template Designers
3. Basic Syntax
Comentarios
Variables
Funciones
Atributos
Colocando variables entre comillas dobles
Matemáticas
Escaping Smarty Parsing
4. Variables
Variables definidas desde PHP
Arreglos asociativos
Índices de Matrices
Objects
Variables cargadas desde archivos de configuración
La variable reservada {$smarty}
Solicitud de Variables
{$smarty.now}
{$smarty.const}
{$smarty.capture}
{$smarty.config}
{$smarty.section}, {$smarty.foreach}
{$smarty.template}
{$smarty.version}
{$smarty.ldelim}, {$smarty.rdelim}
5. Modificadores de variables
capitalize
cat
count_characters
count_paragraphs
count_sentences
count_words
date_format
default
escape
indent
lower
nl2br
regex_replace
replace
spacify
string_format
strip
strip_tags
truncate
upper
wordwrap
6. Combinando Modificadores
7. Funciones Integradas
capture
config_load
{foreach},{foreachelse}
iteration
first
last
show
total
include
{include_php}
insert
if,elseif,else
{ldelim},{rdelim}
literal
{php}
section,sectionelse
index
index_prev
index_next
iteration
first
last
rownum
loop
show
total
{strip}
8. Custom Functions
{assign}
{counter}
cycle
{debug}
{eval}
{fetch}
{html_checkboxes}
{html_image}
{html_options}
{html_radios}
{html_select_date}
{html_select_time}
{html_table}
math
{mailto}
{popup_init}
popup
{textformat}
9. Config Files
10. Debugging Console
III. Smarty For Programmers
11. Constantes
SMARTY_DIR
SMARTY_CORE_DIR
12. Clase Variables de Smarty
$template_dir
$compile_dir
$config_dir
$plugins_dir
$debugging
$debug_tpl
$debugging_ctrl
$autoload_filters
$compile_check
$force_compile
$caching
$cache_dir
$cache_lifetime
$cache_handler_func
$cache_modified_check
$config_overwrite
$config_booleanize
$config_read_hidden
$config_fix_newlines
$default_template_handler_func
$php_handling
$security
$secure_dir
$security_settings
$trusted_dir
$left_delimiter
$right_delimiter
$compiler_class
$request_vars_order
$request_use_auto_globals
$error_reporting
$compile_id
$use_sub_dirs
$default_modifiers
$default_resource_type
13. La clase Methods() de Smarty
append() — agregando elementos a una matriz asignada
append_by_ref — pasando valores por referencia
assign() — pasando valores para el template
assign_by_ref — pasando valores por referencia
clear_all_assign() — >limpia el valor de todas las variables asignadas
clear_all_cache — limpia completamente el cache del template
clear_assign() — limpia el valor de una variable asignada
clear_cache() — Esto limpia el cache de un template especifico
clear_compiled_tpl() — Esto limpia la vesion compilada del recurso de un template especifico
clear_config() — Esto limpia todas las variables de configuración
config_load() — Carga el archivo de configuración y lo asigna al template
display() — Despliega el Template
fetch() — Retorna la salida del template
get_config_vars() — retorna el valor asignado a la variable de configuración
get_registered_object() — Este retorna una referencia para un objeto registrado.
get_template_vars() — Retorna el valor asignado a una variable
is_cached() — Retorna true si hay cache valido para ese template
load_filter() — Carga un filtro de plugin
register_block() — Registra dinamicamente bloques de funciones de plugins
register_compiler_function — Registra dinamicamente un plugin de una funcion compiladora
register_function() — Registra dinamicamente un plugin de función para un template
register_modifier() — mofidica dinámicamente plugins registrados
register_object() — Registr un objeto para usar en el template
register_outputfilter() — Registra dinamicamente filtros de salida
register_postfilter() — Resgistr dinamicamente postfiltros
register_prefilter() — Registra dinamicamente prefiltros
register_resource — Registra dinamicamente un plugin de recurso
trigger_error — Despliega un mensaje de error
template_exists() — Verifica si el template especificado existe
unregister_block — Des-registra dinamicamente un plugin de bloque de funciones
unregister_compiler_function() — des-registrar dinámicamente una función de compilación
unregister_function() — des-registrar dinámicamente una función de plugin del template
unregister_modifier() — des-registrar dinámicamente un modificador de plugin
unregister_object() — Des-registra dinamicamente un objeto
unregister_outputfilter() — des-registra dinámicamente un filtro de salida
unregister_postfilter() — Des-registra dinamicamente un postfiltro
unregister_prefilter() — Des-registra dinamicamente un prefiltro
unregister_resource() — Des-registra dinamicamente un plugin de recurso
14. Cache
Configurando el Cache
Multiples caches por pagina
Cache Groups
Controlando salida de Cacheabilidad de plugins
15. Caracteristicas Avanzadas
Objetos
Prefilters
Postfilters
Filtros de salida
Función manipuladora de cache
Recursos
Templates desde $template_dir
Templates partiendo de cualquier directorio
Templates partiendo de otras fuentes
Función manipuladora de Template por default
16. Extendiendo Smarty con plugins
Como funcionan los Plugins
Nombres convencionales
Escribiendo Plugins
Funciones de Template
Modificadores
Block Functions
Funciones Compiladoras
Prefiltros/Postfiltros
Filtros de Salida
Fuentes
Inserts
IV. Appendixes
17. Localización de Errores
Errores Smarty/PHP
18. Consejos y Trucos
Manipulación de Variables Vacias
Manipulación del valor default de una variable
Pasando la variable titulo a la cabecera del template
Fechas
WAP/WML
Templates con Componetes
Ofuscando direcciones de E-mail
19. Fuentes
20. ERRORES

List of Examples

2.1. Archivos de la libreria Smarty
2.2. Creando una instancia Smarty de Smarty
2.3. Reemplazar por la ruta absulta de la libreria del archivo
2.4. Adicionar el directorio de la libreria para incluirlo en el include_path de PHP
2.5. Defina la constante SMARTY_DIR manualmente
2.6. Ejemplo de estrutura de archivo
2.7. Configurando permisos de archivos
2.8. Editando /web/www.example.com/smarty/guestbook/templates/index.tpl
2.9. Editando /web/www.example.com/docs/guestbook/index.php
2.10. Editando /php/includes/guestbook/setup.php
2.11. Editando /web/www.example.com/docs/guestbook/index.php
3.1. Comentarios
3.2. Variables
3.3. Sintaxis de Funciones
3.4. Sintaxis de atributos de Funciones
3.5. Sintaxis entre comillas
3.6. Ejemplos de matemáticas
3.7. Ejemplo cambiando delimitadores
4.1. variables definidas
4.2. Accesando variables de matriz asociativa
4.3. Accesando matrices por sus índices
4.4. Accesando propiedades de los Objetos
4.5. Variables de configuración
4.6. Mostrando solicitud de variables
4.7. Usando {$smarty.now}
4.8. Usando {$smarty.const}
5.1. Ejemplo de modificador
5.2. capitalize
5.3. cat
5.4. count_characters
5.5. count_paragraphs
5.6. count_sentences
5.7. count_words
5.8. date_format
5.9. default
5.10. escape
5.11. indent
5.12. lower
5.13. nl2br
5.14. regex_replace
5.15. replace
5.16. spacify
5.17. string_format
5.18. strip
5.19. strip_tags
5.20. truncate
5.21. upper
5.22. wordwrap
6.1. Combinando Modificadores
7.1. capturando contenido de template
7.2. Función {config_load}
7.3. Función config_load con section
7.4. foreach
7.5. foreach key
7.6. Ejemplo de {foreach} - con base de datos (eg PEAR o ADODB)
7.7. funcion {include}
7.8. Función {include} pasando variables
7.9. {include} y asignacion de variables
7.10. Ejemplos de recursos para la función include
7.11. funcion {include_php}
7.12. función {insert}
7.13. sentencia if
7.14. {ldelim}, {rdelim}
7.15. Etiqueta literal
7.16. Etiqueta {php}
7.17. section
7.18. loop(ciclo) de la variable section
7.19. Nombres de section
7.20. sections anidadas
7.21. sections y matrices asociativas
7.22. {sectionelse}
7.23. {section} propiedades del index
7.24. {section} propiedades del index_next y index_prev
7.25. {section} propiedades de iteration
7.26. {section} propiedades first y last
7.27. {section} propiedades de index
7.28. section atributos de show
7.29. {section} propiedades de total
7.30. {strip} tags
8.1. {assign}
8.2. Accesando variables desde un script de PHP. {assign}
8.3. counter
8.4. cycle
8.5. {eval}
8.6. fetch
8.7. {html_checkboxes}
8.8. ejemplo de base de datos (eg PEAR o ADODB):
8.9. html_image example
8.10. {html_options}
8.11. {html_options} - Ejemplo con base de datos (eg PEAR o ADODB):
8.12. {html_radios} : Ejemplo 1
8.13. {html_radios} : Ejemplo 2
8.14. {html_radios}- Ejemplo con base de Datos (eg PEAR o ADODB):
8.15. {html_select_date}
8.16. {html_select_date}
8.17. {html_select_time}
8.18. html_table
8.19. {math}
8.20. {mailto}
8.21. popup_init
8.22. popup
8.23. {textformat}
9.1. Ejemplo de sintaxis de un archivo de configuración
11.1. SMARTY_DIR
11.2. SMARTY_CORE_DIR
12.1. multiple $plugins_dir
12.2. Arreglo de variables de configuración
12.3. $compile_id
13.1. append
13.2. append_by_ref
13.3. assign()
13.4. assign_by_ref()
13.5. clear_all_assign()
13.6. clear_all_cache
13.7. clear_assign()
13.8. clear_cache()
13.9. clear_compiled_tpl()
13.10. clear_config()
13.11. config_load()
13.12. display()
13.13. Ejemplos de recursos de la función display
13.14. fetch()
13.15. Usando fetch() y enviando a un e-mail
13.16. get_config_vars()
13.17. get_registered_object()
13.18. get_template_vars
13.19. is_cached()
13.20. is_cached() con templates con multiple-cache
13.21. loading filter plugins
13.22. register_block()
13.23. register_function()
13.24. register_modifier()
13.25. register_resource
13.26. template_exists()
13.27. unregister_function()
13.28. unregister_modifier()
13.29. unregister_resource()
14.1. Habilitando Cache
14.2. Configurando cache_lifetime por cache
14.3. Habilitando $compile_check
14.4. Usando is_cached()
14.5. Limpiando el cache
14.6. Pasando un cache_id para display()
14.7. Pasando un cache_id para is_cached()
14.8. Limpando todos los caches para un cache_id en particular
14.9. Grupos de cache_id
14.10. Previniendo que una saída de plugin de ser cacheada
14.11. Previniendo una pasada entera del template para el cache
15.1. usando un objeto registrado o atribuido
15.2. usando un prefiltro prefilter de template
15.3. Usando un postfilter de template
15.4. Usando un filtro de salida de template
15.5. ejemplo usando MySQL como una fuente de cache
15.6. Usando templates desde $template_dir
15.7. usando templates desde cualquier directorio
15.8. usando templates con rutas de archivos de windows
15.9. Usando recursos habituales
15.10. usando la función manipuladora de template por default
16.1. Función de plugin con salida
16.2. Función de plugin sin salida
16.3. Plugin modificador simple
16.4. Plugin modificador mas complejo
16.5. Función de bloque
16.6. Función compiladora simple
16.7. prefilter plugin
16.8. postfilter plugin
16.9. plugin de filtro de salida
16.10. Plugin resource (recurso)
16.11. insert plugin
17.1. Errores de Smarty
17.2. Errores de analisis gramatical de PHP
17.3. Otros errores comunes
18.1. Imprimiendo &nbsp; cuando una variable esta vacia
18.2. Atribuyendo el valor por default a una variable en el template
18.3. Pasando la variable titulo al encabezado del template
18.4. Usando date_format
18.5. Convirtiendo elementos en forma de fecha de vuelta a un timestamp
18.6. Usando insert para escribir un encabezado WML Content-Type
18.7. Templates con Componetes
18.8. Ejemplo de ofuscamiento de una direccion de E-mail