he añadido algunas variables globales ramita para hacer frente a este
# config.yml
framework:
templating:
engines: ['twig']
assets_version: 'dev'
assets_version_format: "%%2$s/%%1$s"
session:
cookie_domain: %session.cookie_domain%
twig:
globals:
assets_version: dev
static_assets_base_url: %static_assets_base_url%
static_images_base_url: %static_images_base_url%
static_image: %static_images_base_url%/dev/ # I didn't know how to reference the assets_version, so this is the same value
static_content: %static_images_base_url%/
# parameters.yml
parameters:
session.cookie_domain: .myapp.dev
static_assets_base_url: http://myapp-static.dev
static_images_base_url: http://myapp-static.dev/path/to/web
- Para css versionado y compilado/js etc imprimo
{{ static_assets_base_url ~ asset_url }}
.
- Para las imágenes con versión, etc. Imprimo
{{ static_image ~ 'bundles/mybundle/img/icon.jpg' }}
.
- Para imágenes sin versión, etc. Imprimo
{{ static_content ~ 'content/img/upload-123.jpg' }}
.
No recuerdo exactamente por qué lo hice, pero estaba relacionado con los errores de los activos (qué sorpresa). Simplemente no puede manejar rutas correctamente, como a veces no agrega la versión, o lo hace incorrectamente.
Será una molestia si tiene que modificar la versión de los activos manualmente, por lo que es mejor tener un script de implementación listo para hacer esto.
Ah, y recuerde que Assetic no va a volcar los activos compilados en los directorios especificados, este es un problema conocido. Por lo tanto, debe agregar sus propios enlaces simbólicos para estos directorios.
EDITAR
El parámetro 'session.cookie_domain' le permite utilizar el mismo dominio y evitar las cookies, si su aplicación está en un subdominio. Si su aplicación no usa un subdominio, deberá usar un dominio separado para los activos estáticos.
y qué hacer con las imágenes? – unairoldan
@ Ztere0 mi respuesta anterior era completamente incorrecta. – meze
Las imágenes son activos, cárguelas con la función asset() –