Octobercms - 在主题设置上渲染转发器组的字段

Octobercms - render fields from repeater groups on theme settings

我尝试在我的主题设置 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 %}

但是我无法渲染字段。

嗯,似乎有些混乱,还有一些错误的变量名:)

让我们解决这个问题。

End result would be like this :

{% 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 %}

what are the mistakes [ If you are in hurry skip this :) ] (its here for your improvement it does not server any other purpose :) )

您正在使用 content,因此您需要确保在这里使用正确的变量名称 您可以使用 this.theme.content 而不是 this.theme .>>内容<<

下一个field._group不是fields.groups

最后fields它的

fields:
  text_area:
  ....

所以你需要使用它们 field.text_area 而不是 field.textareafield.quote_content 等等...

如果您发现任何困难,请发表评论。