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 скоро...

если вы обнаружите какие-либо трудности, пожалуйста, прокомментируйте.

Другие вопросы по тегам