Image 将细枝模板呈现为字符串,添加自定义资源路径

Image 将细枝模板呈现为字符串,添加自定义资源路径,image,symfony,twig,assets,Image,Symfony,Twig,Assets,我们的项目允许用户创建自定义主题文件。由于项目的结构,我们必须呈现这些文件并保存输出。该项目使用Symfony2 为了呈现这个细枝模板并将输出保存到另一个文件中,我使用了一个以@templating为参数的服务 services.yml对服务的定义如下: theme_renderer: class: ApiBundle\Service\ThemeRenderer arguments: [ @templating ] public function __construct(Twi

我们的项目允许用户创建自定义主题文件。由于项目的结构,我们必须呈现这些文件并保存输出。该项目使用Symfony2

为了呈现这个细枝模板并将输出保存到另一个文件中,我使用了一个以@templating为参数的服务

services.yml对服务的定义如下:

    theme_renderer:
  class: ApiBundle\Service\ThemeRenderer
  arguments: [ @templating ]
public function __construct(TwigEngine $templateEngine) {
    $this->templateEngine = $templateEngine;
}

public function renderTheme($filePath, $themeSettings) {
    ...
    $renderedFileContents = $this->templateEngine->render($sourceFilePath, $themeSettings);
    ...
}
这给了我一个TwigEngine对象,我可以像这样使用它:

    theme_renderer:
  class: ApiBundle\Service\ThemeRenderer
  arguments: [ @templating ]
public function __construct(TwigEngine $templateEngine) {
    $this->templateEngine = $templateEngine;
}

public function renderTheme($filePath, $themeSettings) {
    ...
    $renderedFileContents = $this->templateEngine->render($sourceFilePath, $themeSettings);
    ...
}
这个很好用

但是,如果模板包含{{asset('images','some_image')}}标记,则呈现失败。例外情况是:

An exception has been thrown during the rendering of a template ("There is no "some_image" asset package.") in "<template_file_path_here>" at line 2
在第2行的“”中呈现模板时引发异常(“没有“some_image”资产包”)

我需要能够为asset()标记的呈现提供一个自定义(CDN)URL。我该怎么做呢?

我认为异常消息
没有“some_image”资产包。
很清楚。
asset
函数的第二个参数是包名。模板组件的包在
framework.templating
键在Symfony配置(etc.config.yml)下定义


然后你可以使用
asset('my_image.jpg','avatars')
。所以,我假设您没有定义包
某些映像,或者配置不正确。

它是如何失败的?您能提供更多信息吗?您应该添加更多信息,如服务定义、Symfony版本和错误本身(可能是异常)。@kba我已经添加了相关的异常和服务定义。Symfony版本是2.6.9