Nuevo en Symfony 5.1: Mejoras en los temas de formulario

Nuevo tema para Foundation 6

Symfony incluye varios temas de formularios compatibles con Bootstrap 3x. y 4.x y Foundation 5. En Symfony 5.1 hemos añadido otro tema más para el framework Foundation 6.

Para usarlo, primero tienes que enlazar a los assets de Foundation 6 desde tu aplicación. Después, añade foundation_6_layout.html.twig a la lista de temas en la opción de configuración twig.form_themes. Ahora, todos los formularios de tu aplicación se verán con los estilos de Foundation 6.

Esta funcionalidad fue contribuida por Rémi Leclerc en el pull request #34880.

Traducción de campos de formulario personalizados de Bootstrap

Cuando utilizas campos de formulario personalizados de Bootstrap, el texto del botón que se incluye en el campo <input type="file"> siempre se muestra en inglés ("Browse"). Bootstrap permite traducirlo mediante variables SCSS en los estilos de tu aplicación. Por ejemplo:

$custom-file-text: (
    en: "Browse",
    es: "Elegir",
    de: "Auswählen"
);

En Symfony 5.1 hemos mejorado el tema de formulario de Bootstrap para que utilice el texto del idioma actual de la aplicación. Si no existe, se sigue usando el texto en inglés.

Esta funcionalidad fue contribuida por Dominik Müller en el pull request #34278.

Personalizando cada elemento de una colección

El campo de formulario CollectionType permite incluir una serie de formularios dentro de otro formulario. Cada parte de este campo de formulario se puede personalizar con los bloques de Twig habituales para otros campos de formulario:

{% block collection_row %} ... {% endblock %}
{% block collection_label %} ... {% endblock %}
{% block collection_widget %} ... {% endblock %}
{% block collection_help %} ... {% endblock %}
{% block collection_errors %} ... {% endblock %}

También puedes personalizar colecciones específicas en vez de todas ellas. En Symfony 5.1 hemos añadido nuevos bloques para que también puedas personalizar cada parte de cada elemento de todas las colecciones:

{% block collection_entry_row %} ... {% endblock %}
{% block collection_entry_label %} ... {% endblock %}
{% block collection_entry_widget %} ... {% endblock %}
{% block collection_entry_help %} ... {% endblock %}
{% block collection_entry_errors %} ... {% endblock %}

Esta funcionalidad fue contribuida por Jules Pietri en el pull request #36088.


Fuente: New in Symfony 5.1: Form theme improvements

Comentarios

Publicada el

27 de marzo de 2020

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.