Octobercms - отображать поля из групп повторителей в настройках темы
Я пытаюсь использовать группы повторителей в моем файле настроек темы yaml. Поэтому я добавляю приведенный выше код в мою тему /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 %}
Но я не могу рендерить поля.
1 ответ
Хм, там какая-то путаница и неправильные имена переменных:)
давайте исправим это.
Конечный результат будет таким:
{% 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
не эта тема.>> Содержание<<
рядом его field._group
не fields.groups
и наконец fields
его
fields:
text_area:
....
поэтому вам нужно использовать их field.text_area
не field.textarea
а также field.quote_content
скоро...
если вы обнаружите какие-либо трудности, пожалуйста, прокомментируйте.