在StreamField中,我有StructBlock及其自己的模板。我正在尝试从所述模板访问页面对象。
this.dataGridView1.Sort(this.dataGridView1.Columns[0], ListSortDirection.Ascending);
{% load wagtailcore_tags article_tags %}
{% article_constants as constants %}
<div id="interactions__combo__addition" class="col-md-6">
<h3>
{% include_block page.translated_title %}
+
<span id="interactions-combo-addition-temp">?</span> =
</h3>
<div alt="dangerous to synergy bar" style="height:10px; width:100%">
</div>
</div>
<div class="interactions__combo__result col-md-5">
<h3 class="interactions__combo__result__title">
{{ constants.select_element }}
</h3>
<p class="interactions__combo__result__description">
{{ constants.none_selected_text }}
{% include_block page.colour %}.
</p>
</div>
和{% include_block page.colour %}
不呈现任何内容。
预先感谢您的帮助。
答案 0 :(得分:2)
在页面模板上输出StreamField时,应使用{% include_block %}
标签。例如,如果您的StreamField名为body
,请在页面模板上使用{% include_block page.body %}
。这将确保外部模板(包括page
)中的上下文变量在您的StructBlock模板中可用-如果您使用{{ page.body }}
,则StructBlock模板将呈现,但无权访问外部模板中的变量。
对于{% include_block %}
以外的字段,例如page
,不要使用page.translated_title
。