Symfony2 Assetic получает URL-адреса актива от внутреннего контроллера, а не шаблона
Я хочу включить url в один из активов в моем пакете в контроллере, а не в шаблоне.
В частности, но не очень важно: я делаю диаграмму HighChart с использованием obHighChartsBundle, и мне приходится составлять некоторые специальные значки в некоторых точках графика, который я создаю. Поэтому мне нужен URL-адрес значка, который находится в папке с моим пакетом.
Можно ли вызвать какого-либо менеджера активов из контроллера и получить правильный URL-адрес этого актива?
Ответы
Ответ 1
Вы можете позвонить ($ packageName необязательно):
$this->container->get('assets.packages')->getUrl($path, $packageName);
Для более старых версий Symfony служба называется templating.helper.assets
, поэтому вы используете:
$this->container->get('templating.helper.assets')->getUrl($path, $packageName);
Он использовался так же, как функция твига (на самом деле это называется в функции твига).