Octobercms - отображать поля из групп повторителей в настройках темы - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь использовать группы повторителей в моем файле настроек темы 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 Ответ

0 голосов
/ 06 сентября 2018

Хм, там какая-то путаница и неправильные имена переменных:)

давайте исправим это.

Конечный результат будет следующим:

{% 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 и т. Д. *

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

...