/ / Використання активів у контролері (Symfony) - php, symfony, twig

Використання активів у контролері (Symfony) - php, symfony, twig

На даний момент у мене є цей Twig-код:

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

Чи можу я передати це посилання через контролер?

тобто. Скажіть, у мене є ця змінна:

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

Яку маніпуляцію мені потрібно було б зробити $image щоб він був "складений" таким чином, щоб я міг потім передати його Twig і назвати так:

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

?

Відповіді:

1 для відповіді № 1

Там справді немає нічого магічногоКомпонент активів. Розширення гілочки "актив" просто викликає компонент "Актив" і може додавати рядок версії. Якщо ви хотіли це зробити у своєму контролері, ви можете безпосередньо використовувати компонент Asset. Приклад здебільшого з док

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

Майте на увазі, що розширення гілочок активу працює з компонентом Asset, а не з Assetic, що є зовсім іншою бібліотекою.

Дивіться документацію щодо самого компонента. Це дуже просто.

Компонент активів на Symfony.com