Twig:从SVG文件中包含外部代码

Mar*_*der 11 svg inline templating twig

是否可以将svg文件中的代码直接包含在twig模板文件中?

就像是:

{% include 'my.svg' %}
Run Code Online (Sandbox Code Playgroud)

这将导致:

<svg viewbox=".... />
Run Code Online (Sandbox Code Playgroud)

5n0*_*0py 8

如果是主题,最好使用{{ directory }}保存主题路径的变量。

{{ source(directory ~ '/images/my.svg') }}
Run Code Online (Sandbox Code Playgroud)


LT8*_*T86 7

有一个类似的问题,最终将我的svgs重命名为.twig文件.

{% include 'my.svg.twig' %}


小智 0

您可以通过设置新变量在 Drupal8 主题中执行以下操作:

function theme_preprocess_page(&$variables) {
  $svg = file_get_contents(drupal_get_path('theme', 'socialbase') . '/images/icons.svg');
  $variables['svg_sprite'] = t('svg', array('svg' => $svg));
}
Run Code Online (Sandbox Code Playgroud)

在你的树枝文件中,你可以使用以下命令打印它:

{{ svg_sprite }}
Run Code Online (Sandbox Code Playgroud)