Grav-plugin-admin: Условное поле - установите условие для других / родственных полей

Созданный на 24 авг. 2018  ·  5Комментарии  ·  Источник: getgrav/grav-plugin-admin

В файле чертежа для шаблона я хотел бы использовать поле повторителя / списка,
у которого есть поле выбора с параметрами,
и условные поля, которые оценивают выбранный пользователем выбор, чтобы отображать поля соответствующим образом.

Я хотел бы использовать это для длинных статей, где пользователь мог бы добавлять / переключать разные типы компонентов.

Как установить условие для значения поля выбора (в повторении)?
В текущем коде виден только выбор, а условные выражения не действуют.

        header.field.selection:
          type: list
          style: vertical
          label: Repeater/list with conditional field selection
          fields:
            .select: # this select sets the boolean for the conditional fields
              type: select
              size: long
              classes: fancy
              label: Select the type of field you would like to add
              options:
                tinymce: Textarea
                slideshow: Slideshow
                testimonial: Testimonial
                video: Video
            .tinymce:
              type: conditional # if Textarea was selected render the tinymce fields
              condition: "header.field.selection.select is same as('tinymce') ? 'true' : 'false'"
              fields: 
                .fieldName:
                  type: text
                  label: Tinymce
            .slideshow:
              type: conditional # if slideshow was selected render the slideshow fields
              condition: "header.field.selection.select is same as('slideshow') ? 'true' : 'false'"
              fields: 
                .fieldName2:
                  type: text
                  label: Slideshow
            .testimonial:
              type: conditional # if testimonial was selected render the testimonial fields
              condition: "header.field.selection.select is same as('testimonial') ? 'true' : 'false'"
              fields: 
                .fieldName3:
                  type: text
                  label: Testimonial
            .video:
              type: conditional # if video was selected render the video fields
              condition: "header.field.selection.select is same as('video') ? 'true' : 'false'"
              fields: 
                .fieldName4:
                  type: text
                  label: Video
question

Все 5 Комментарий

Условное поле - это не то, что работает «вживую» на основе других полей, оно просто может выполнять функцию PHP во время обслуживания и затем делать определение. Все остальное потребует запуска Javascript.

Спасибо, rhukster.

Мне удалось создать «Гибкое поле содержимого» ** (например, расширенные настраиваемые поля в Wordpress). Вы можете увидеть код здесь

** Определите группы подполей (макетов) и добавляйте, редактируйте и переупорядочивайте их для создания настраиваемого контента!

Хотелось бы видеть что-то вроде этого основного поля в плагине формы :) PR, возможно, ??

@rhukster
Запрос на извлечение был сделан для ветви 'feature / flexible-form-field'.
Статус:

  • Можно использовать шаблон выбора поля. Добавленные поля сохраняются и загружаются правильно.
  • Js и Css еще нужно добавить.
  • example-fieldselection.yaml добавлен.

Мне нужна помощь по:

  • Сортировка полей не сохраняется на переднем плане.

tnx

(я на слабом канале как 'genenenenaam')

@rhukster

есть ли какая-то зависимость от «сортировки элементов списка» и имени шаблона поля «list.html.twig»?

Я сделал тест и кажется:

  • если вы создадите новую папку fieldselection на том же уровне, где расположена папка list.
  • продублируйте файл list.html.twig, переименуйте его в fieldselection.html.twig и поместите его в папку fieldselection.
  • если вы сейчас создадите план, в котором вы используете тип поля «список», но дадите ему тип «выбор поля».
    (что не должно иметь значения, следовательно, оба типа имеют одинаковое содержимое кода)
  • Изменение порядка не работает для типа fieldselection, но работает для типа list.
    (То же самое для удаления элемента)

Я считаю, что ответ на этот вопрос может решить мою проблему с текущим состоянием новой функции.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги