在drupal 8上,我按照debug的建议创建了一个模板。我的代码如下所示:
{% for key, element in elements if key|first != '#' %}
{# element.content.field_shortcut_image #}
<a href="{{ element.content.field_shortcut_url.0['#context'].value }}" class="col-sm-12 col-md-5ths col-lg-5ths" >
<div class="shortcut-bg" style="background: transparent url({{ file_url(element.content.field_shortcut_image.0['#item'].entity.uri.value) }}) no-repeat center center;"></div>
<div class="shortcut-title">
{% if element.content.field_shortcut_icon.0['#item'].entity.uri.value %}
<img src="{{ file_url(element.content.field_shortcut_icon.0['#item'].entity.uri.value) }}" class="shortcut-icon" alt="{{ element['#configuration'].label }} icon" >
{% endif %}
{{ element['#configuration'].label }}
</div>
</a>
{% endfor %}
但是,每次我对drupal进行任何更改,比如可能更新内容,甚至与该块无关,数据都会消失。当数据存在时,它看起来像这样: http://prntscr.com/d2wmku
在更改或添加任何内容后看起来像这样: http://prntscr.com/d2wmxu
当我在admin / config / development / performance中清除缓存时,数据又回来了,但这很痛苦,因为每次创建/编辑内容时它都会消失。知道这里发生了什么吗?
答案 0 :(得分:0)
所以对于像我这样的人,也许这会有所帮助。
我尝试使用&#39;内容&#39;而不是从#elements获取数据。数组,这解决了我的问题。更新任何内容时,数据不会在内容阵列上消失。我的代码看起来像这样:
<script src='https://cdn.jsdelivr.net/lodash/4.17.1/lodash.min.js'></script>