Filtro jpegoptim assetic no funciona con variables

44 views
Skip to first unread message

eduardobape

unread,
Feb 24, 2013, 1:55:51 PM2/24/13
to symfo...@googlegroups.com

Estoy intentando hacer pruebas con el filtro jpegoptim de assetic en Symfony 2 en Windows 7, pero tengo un problema cuando quiero aplicarlo sobre una imagen con un nombre variable.

Por ejemplo, tengo una plantilla llamada oferta.html.twig que muestra una oferta publicada por una tienda. En dicha plantilla se usa una imagen para la oferta. Quiero utilizar el filtro jpegoptim con assetic para entregar dicha imagen al navegador con un tamaño menor.

Dicha plantilla de twig recibe una variable llamada oferta desde un método en el controlador correspondiente. Dicha variable contiene información acerca de una entidad oferta. Entre otras propiedades, la variable oferta tiene una propiedad llamada foto (oferta.foto) con el nombre de la imagen de la oferta solicitada.

La cuestión es que cada día la oferta de la tienda varía; así que la imagen también cambia y por tanto su nombre, por lo que no puedo utilizar un nombre fijo para la imagen. Las imágenes de las ofertas están guardadas en un directorio web/uploads/images.

El código de la plantilla oferta.html.twig donde utilizo el filtro es el siguiente: 

<img src="{{ jpegoptim('/uploads/images/' ~ oferta.foto) }}" alt="Example"/>

En este caso, se utiliza una variable oferta.foto en '/uploads/images/' ~ oferta.foto.

Si intento acceder a la aplicación a través de la URL  de la aplicación http://cupon.local/app_dev.php se produce la siguiente excepción:

Unexpected token "operator" of value "~" in OfertaBundle:Default:includes/oferta.html.twig at line 15
500 Internal Server Error - Twig_Error_Syntax

La configuración del filtro en el archivo app/config/config.yml es el siguiente:

assetic:
    filters:
        cssrewrite: ~
        yui_css:
            jar:      %kernel.root_dir%/Resources/java/yuicompressor-2.4.6.jar
            #apply_to: \.css$
        yui_js:
            jar:      %kernel.root_dir%/Resources/java/yuicompressor-2.4.6.jar
            #apply_to: \.js$
        jpegoptim:
            bin:        C:\xampp\htdocs\Utilidades\jpegoptim.exe
            max:        50
            apply_to: "\.jpg$"
    twig:
        functions:
            jpegoptim: { output: images-opti/*.jpg }

¿Alguna solución?. Gracias.

Reply all
Reply to author
Forward
0 new messages