Hola Javier,
¿Conoces alguna forma para que aparezca una fecha en formato español (ejemplo Jueves, 21 de Agosto de 2014) con Twig, que no sea necesario la utilización de la extension intl
de PHP?
Aplicación Symfony 2.0 y hosting compartido.
Gracias y un saludo.
Respuestas
Aunque ya supongo que lo sabes, la única manera correcta de resolver este problema es utilizar la extensión intl
de PHP. Pero entiendo que por temas de hosting no puedas utilizarla.
La solución más sencilla que se me ocurre es realmente cutre pero ahí va:
{{ fecha|date('l, j \d\e F \d\e Y')|replace({ 'January' : 'Enero', ... 'December' : 'Diciembre', 'Monday' : 'Lunes', ... 'Sunday' : 'Domingo' }) }}
Obviamente si necesitas esto en muchas plantillas, tienes que crearte una macro de Twig e importarla en tus plantillas.
Una variante más profesional de esta solución sería crear un filtro llamado fecha
en una extensión de Twig propia y pasar todo este código allí. Si lo necesitas, aquí tienes un ejemplo de una clase PHP bien hecha que utiliza esta misma técnica de reemplazar los nombres en inglés de los meses y los días. Tan sólo tendrías que transformar esa clase en una extensión de Twig que defina el filtro que necesitas.
@javiereguiluz
Hola Javier,
La primera opción ya la tenía yo en mente, y la segunda me ha gustado.
Tengo que pensar que me interesa más.
Me sigue sorprendiendo la habilidad que tienes para buscar cosas, porque yo antes de escribir en el foro ya estuve buscando algo y nada.
Gracias.
@julioalp