我尝试在主题设置yaml文件上使用中继器组。所以我将上面的代码添加到我的theme / config / fields.yaml:
fields:
cont:
tab: Content
name: cont
label: Content
type: text
content:
tab: Content
label: Content
prompt: Add content block
span: full
type: repeater
groups:
textarea:
name: Textarea
description: Basic text field
icon: icon-file-text-o
fields:
text_area:
label: Text Content
type: textarea
size: large
quote:
name: Quote
description: Quote item
icon: icon-quote-right
fields:
quote_position:
span: auto
label: Quote Position
type: radio
options:
left: Left
center: Center
right: Right
quote_content:
span: auto
label: Details
type: textarea
在主题设置后端上一切正常,我可以在字段中插入数据。
现在,我尝试在我的cms页面上呈现这些字段,但是无论如何我都无法成功。我尝试:
{% for fields in this.theme.content%}
{{ fields.textarea }}
{% endfor %}
也
{% for fields in this.theme.contents %}
{% if fields.groups == "textarea" %}
{{fields.groups.textarea}}
{% endif %}
{% endfor %}
但是我无法渲染字段。
答案 0 :(得分:2)
嗯,似乎有些混乱,有些错误的变量名:)
让我们解决这个问题。
最终结果如下:
{% for field in this.theme.content %}
{% if field._group == "textarea" %}
<h1>{{field.text_area}}</h1>
{% endif %}
{% if field._group == "quote" %}
<h1>{{field.quote_position}}</h1>
<h1>{{field.quote_content}}</h1>
{% endif %}
{% endfor %}
错误是什么 [如果您急着跳过此:)] (此处为您进行改进,它没有任何其他用途:))>
您正在使用content
,因此需要确保在此处使用正确的变量名,您可以使用this.theme.content
而不是 this.theme。>>内容<<< / strong>
下一个其field._group
不是 fields.groups
最后 fields
其
fields:
text_area:
....
所以您需要使用它们field.text_area
而不是 field.textarea
和field.quote_content
,依此类推...
如果发现任何困难,请发表评论。