Symfony2 Assetic从控制器内部获取资产URL,而不是模板

时间:2013-03-26 18:21:53

标签: symfony assetic

我想将url包含在控制器中我的包中的一个资产中,而不是模板中。

更具体但不是很重要:我使用obHighChartsBundle创建一个HighChart图表,我必须在我生成的图形的某些点上绘制一些特殊图标。因此,我需要图标的URL,该图标位于我的软件包的资产文件夹中。

是否可以从控制器调用某种资产管理器并获取该资产的正确URL?

1 个答案:

答案 0 :(得分:39)

你可以打电话($ packageName是可选的):

$this->container->get('assets.packages')->getUrl($path, $packageName);

对于较旧的Symfony版本,服务称为templating.helper.assets,因此您使用:

$this->container->get('templating.helper.assets')->getUrl($path, $packageName);

它的使用方式与twig函数相同(实际上这是在twig函数中调用的)。