模板中的语言相关模块内容 - Drupal 8

时间:2016-12-19 22:41:17

标签: caching drupal drupal-8

所以我在自定义drupal 8问题中有以下问题,它以某种方式与缓存进行冲突。它需要一些部分作为可翻译字符串(ok)和一些来自后端服务的部分(不好)

我的模块阵列:

 return array(
        '#theme' => 'block__vt_course_offer',
        '#data' => $courseData,
        '#cache' => [
            'contexts' => ['languages'],
            'tags' => $cacheTags,
        ]
    );

我的模板的一部分

<!-- This works just perfect: -->{% trans %}Prüfungen{% endtrans %}
...
<div class="course-block__desc">
   <!-- This dissplays only one language at the moment of cache build: -->
   {{ course_type.short_description[language] | raw }}
</div>

启用缓存时,有没有办法在不同语言中传递{{ course_type.short_description[language] | raw }}个不同的值?目前它在第一次通话时使用了语言,当缓存被清除时,会导致英语网站上的德语内容,反之亦然。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

最后我们采用了这种方法:https://stackoverflow.com/a/42225791/2776727 - 包括未缓存的小渲染数组。