【问题标题】:How render string <drupal-media> in Twig template?如何在 Twig 模板中渲染字符串 <drupal-media>?
【发布时间】:2020-08-20 12:29:24
【问题描述】:

我的模块中有块。我加载文章类型“视频”,一个字段是“长字符串”。内容是媒体 - 远程视频。

$body = $articles->get('body')->getValue();
$shortBody = $articles->get('field_video')->value;
$items[] = array(
              'title' => $articles->getTitle(),
              'text' => $body[0]['value'],
              'id' => $articles->id(),
              'path' => $alias,
              'date' => $articles->get('revision_timestamp')->value,
              'shorttext' => $shortBody
);

在关键短文本中,我有字符串&lt;drupal-media data-align="center" data-entity-type="media" data-entity-uuid .... &lt;/drupal-media&gt;。模板将此视为字符串,因此它不会呈现视频文件。如何在 Twig 模板中从这个字符串渲染视频文件? 谢谢

【问题讨论】:

  • 您是否尝试将过滤器raw 应用于字符串?
  • 不,但这无济于事

标签: twig drupal-8


【解决方案1】:

好的,我的解决方案是这样的。我将字段类型更改为 Media - entity。

那我把$shortBody = $articles-&gt;get('field_video')-&gt;value;改写成$shortBody = $articles-&gt;get('field_video')-&gt;getValue();

在 Twig 文件中

{{ drupal_entity('media', item.shorttext) }}

这很好用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    相关资源
    最近更新 更多