/ / Uso de activos en el controlador (Symfony) - php, symfony, twig

Uso de recursos en el controlador (Symfony) - php, symfony, twig

Actualmente tengo este código Twig:

<img class="img-responsive" src="/images/{{ asset("assets/images/features/feature-1.png") }}" alt="">

¿Puedo pasar ese enlace a través del controlador?

es decir. Digamos que tengo esta variable:

$image = "assets/images/features/feature-1.png";

¿Qué manipulación necesitaría hacer para $image tenerlo "activo" de tal manera que luego pueda pasarlo a Twig y llamarlo así:

<img class="img-responsive" src="/images/{{ image }}" alt="">

?

Respuestas

1 para la respuesta № 1

Realmente no hay nada mágico sobre elComponente de activo. La extensión de ramita "activo" simplemente llama al componente Activo y puede agregar una cadena de versión. Si desea hacer eso en su controlador, puede usar el componente Activo directamente. Un ejemplo principalmente de los documentos

use SymfonyComponentAssetPackage;
use SymfonyComponentAssetVersionStrategyEmptyVersionStrategy;

$package = new Package(new EmptyVersionStrategy());

$imageUrl = $package->getUrl("/image.png");
// Now you can pass the $imageUrl to twig like any other variable.
// result: /image.png

Tenga en cuenta que la extensión de ramita de activos funciona con el componente Activo, no con Assetic, que es una biblioteca muy diferente.

Consulte la documentación del componente en sí. Es muy sencillo.

Componente de activos en Symfony.com