Использование галереи ACF с Timber / Twig - PullRequest
0 голосов
/ 24 июня 2018

Я использую Timber (реализация Twig для плагинов WordPress) и поле галереи плагинов Advanced Custom Fields.У меня есть рабочая галерея с пользовательским типом поста, поэтому ACF и Timber работают где-то на сайте, но не для стандартной страницы.Когда я пытаюсь добавить галерею на страницу, все, что у меня получается, это пустая разметка для тега img src.

У меня есть это в page.php в папке с шаблонами:

$context = Timber::get_context();
$page = new TimberPost();

$context['page'] = $page;

if ($photos = $page->get_field('photos')) {
    $context['photos'] = $photos;
}

У меня есть это в default.twig в папке templates / page / в теме (html удален для простоты):

{% if page.photos %}

{% for p in page.photos %}

<img src="{{ p.sizes.gallery|relative }}" alt="{{ p.alt }}" /> 

{{ p.caption }}

{% endfor %} 

{% endif %}

Это приводит к источнику страницы <img src="" alt="">.

Если я использую {{ dump(photos) }} внутри оператора for p in page.photos, он выводит массив изображений, которые я ввел в поле Галерея на серверной части.Итак, массив изображений существует и выводится.Расширение relative работает для всех типов записей;удаление здесь не имеет значения.

Так почему же функция p.sizes.gallery|relative не выводит URL и заголовок каждого изображения?

1 Ответ

0 голосов
/ 25 июня 2018

Вы добавляете данные в $ context ['photos'], поэтому я считаю, что вы должны изменить свой код для проверки на if photos и повторять как for p in photos

...