На даний момент у мене є цей 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