Twig es el motor de plantillas predeterminado en Symfony2. Por sí mismo, ya tiene integradas muchas funciones, filtros, etiquetas y pruebas (http://gitnacho.github.com/Twig luego desplázate hasta abajo).
Symfony2 añade más extensiones personalizadas en lo alto de Twig para integrar algunos componentes a las plantillas de Twig. Abajo está la información sobre todas las funciones personalizadas, filtros, etiquetas y pruebas añadidas usando el núcleo de la plataforma Symfony2.
También puede haber etiquetas en los paquetes que utilizas comúnmente que no están enumeradas aquí.
Nuevo en la versión 2.1: Las funciones csrf_token, logout_path y logout_url se agregaron en Symfony 2.1
Nuevo en la versión 2.2: The render and controller functions are new in Symfony 2.2. Anteriormente se utilizaba la etiqueta {% render %} y tenía una firma diferente.
Function Syntax | Usage |
---|---|
render(uri, options = {}) render(controller('B:C:a', {params})) render(path('route', {params})) render(url('route', {params})) | This will render the fragment for the given controller or URL For more information, see Integrando controladores. Integrando controladores. |
render_esi(controller('B:C:a', {params})) render_esi(url('route', {params})) render_esi(path('route', {params})) | Esta genera una etiqueta ESI cuando es posible o de lo contrario vuelve a caer al comportamiento de render. Para más información, ve Integrando controladores. |
render_hinclude(controller(...)) render_hinclude(url('route', {params})) render_hinclude(path('route', {params})) | Esta genera una etiqueta hinclude para el controlador o la URL dada. para más información, ve |
controller(attributes = {}, query = {}) | Used along with the render tag to refer to the controller that you want to render. |
asset(path, packageName = null) | Get the public path of the asset, more information in “Enlazando activos”. |
asset_version(packageName = null) | Obtiene la versión actual del paquete, más información en «Enlazando activos». |
form_enctype(view) | Dibuja el atributo enctype="multipart/form-data" requerido si el formulario cuando menos tiene un campo para subir archivos, más información en la Referencia de formularios Twig. |
form_widget(view, variables = {}) | Dibuja un formulario completo o el HTML del elemento gráfico de un campo específico, más información en la Referencia de formularios Twig. |
form_errors(view) | Dibuja cualquier error para el campo dado o los errores «globales», más información en la Referencia de formularios Twig. |
form_label(view, label = null, variables = {}) | Dibuja la etiqueta del campo dado, más información en la Referencia de formularios Twig. |
form_row(view, variables = {}) | Dibuja la fila (las etiquetas de los campos, errores y elementos gráficos) del campo dado, más información en la Referencia de formularios Twig. |
form_rest(view, variables = {}) | Dibuja todos los campos que no se han pintado todavía, más información en la Referencia de formularios Twig. |
csrf_token(intention) | Dibuja un testigo CSRF. Usa esta función si deseas protección CSRF sin crear un formulario |
is_granted(role, object = null, field = null) | Devuelve true si el usuario actual tiene el rol necesario, más información en «Controlando el acceso en plantillas» |
logout_path(key) | Genera la URL relativa para cerrar la sesión del cortafuegos dado |
logout_url(key) | Igual a logout_path(...) pero esta genera una URL absoluta |
path(name, parameters = {}) | Obtiene una URL relativa para la ruta dada, más información en «Enlazando páginas». |
url(name, parameters = {}) | Igual a path(...) pero esta genera una URL absoluta |
Nuevo en la versión 2.1: El filtro humanize se añadió en Symfony 2.1
Filter Syntax | Usage |
---|---|
text|humanize | Makes a technical name human readable (replaces underscores by spaces and capitalizes the string) |
text|trans(arguments = {}, domain = 'messages', locale = null) | This will translate the text into the current language, more information in . Translation Filters. |
text|transchoice(count, arguments = {}, domain = 'messages', locale = null) | This will translate the text with pluralization, more information in Translation Filters. |
variable|yaml_encode(inline = 0) | Transforma el texto de la variable a la sintaxis de YAML. |
variable|yaml_dump | Dibuja una sintaxis yaml con su tipo. |
classname|abbr_class | Dibuja un elemento abbr con el nombre corto de una clase PHP. |
methodname|abbr_method | Dibuja un método PHP dentro de un elemento abbr (p. ej. Symfony\Component\HttpFoundation\Response::getContent) |
arguments|format_args | Dibuja una cadena con los argumentos de una función y sus tipos |
arguments|format_args_as_text | Igual a [...]|format_args, pero le quita las etiquetas. |
path|file_excerpt(line) | Dibuja un extracto de un archivo de código en torno a una determinada línea. |
path|format_file(line, text = null) | Dibuja la ruta a un archivo en un enlace. |
exceptionMessage|format_file_from_text | Igual a format_file excepto que añade a la cadena de error predefinida la ruta al archivo (es decir, ‘en foo.php en la línea 45’) |
path|file_link(line) | Dibuja la ruta al archivo correcto (y número de línea) |
Tag Syntax | Usage |
---|---|
{% form_theme form 'file' %} | This will look inside the given file for overridden form blocks, more information in Cómo personalizar la reproducción de un formulario. |
{% trans with {variables} %}...{% endtrans %} | This will translate and render the text, more information in Plantillas Twig |
{% transchoice count with {variables} %} ... {% endtranschoice %} | This will translate and render the text with pluralization, more information in Plantillas Twig |
{% trans_default_domain language %} | This will set the default domain for message catalogues in the current template |
Nuevo en la versión 2.1: La prueba selectedchoice se añadió en Symfony 2.1
Sintaxis de la prueba | Uso |
---|---|
selectedchoice(choice, selectedValue) | Devuelve true si la opción para el valor dado en el formulario está seleccionada |
Variable | Uso |
---|---|
app Attributes: app.user, app.request app.session, app.environment, app.debug app.security | La variable app está disponible en todas partes, y proporciona rápido acceso a muchos objetos necesarios comúnmente. La variable app es una instancia de Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables |
La edición estándar de Symfony añade algunos paquetes al núcleo de la plataforma Symfony2. Dichos paquetes pueden tener otras extensiones de Twig: