Блоки Gutenberg с древесиной и гибким содержимым ACF

#twig #block #advanced-custom-fields #timber #wordpress-gutenberg

#twig #блок #расширенные-пользовательские-поля #древесина #wordpress-gutenberg

Вопрос:

Мы создаем шаблон block.twig в соответствии с:https://timber.github.io/docs/guides/gutenberg/#how-to-use-acf-blocks-with-timber использовать типы полей гибкого содержимого ACF для создания блоков Gutenberg.

Для справки следующий пример кода предназначен для типов полей повторителя:

 {% for field in fields.repeater %}
    Title: {{ field.title }} <br/>
    Url: {{ field.url }}
{% endfor %}
  

которые мы протестировали и, похоже, работают нормально.

Что было бы эквивалентно использованию полей гибкого контента?

Спасибо.

Комментарии:

1. Почему понижающий голос??? Что может быть не так с этим вопросом? Есть ли что-то, что я не объяснил должным образом?

Ответ №1:

@Rafael они немного сложнее, просто нужно обрабатывать их как массивы. Давайте представим, что ваше поле гибкого контента вызывается my_fc_field внутри него. Вы создали 2 макета, в каждом из которых есть одно текстовое поле, одно называется tf_one , другое fc_two

 {% for subfield in fields.my_fc_field %}
    Layout name: {{ subfield.acf_fc_layout }}
    Text Field Value: {{ subfield.tf_one ? subfield.tf_one : subfield.tf_two }}
{% endfor %}
  

выполнение {{ dump(fields.my_fc_field) }} должно прояснить, что там внутри, чем вы можете манипулировать / выводить

Комментарии:

1. Отлично работает, @Jared. Очень признателен за время, потраченное на подробное объяснение этого. Это следует добавить в документацию Timber. Однако, только одно предостережение: ACF 5.8.0-beta v4 не удается отобразить его в редакторе. Советую пока придерживаться версии v3