• 1708
  • 0
  • Обсудить нана форуме
  • Адаптировал: infinity237
  • Уровень сложности исполнения: Справочник

Например, у нас есть дополнительное поле (тип Группа изображений) с ID:poster.
Чтобы вывести эти изображения в блока xnews (шаблон entries.tpl) нужно добавить такой цикл:
1.Проверяем есть ли изображения в доп.поле, если нету то ничего не выводим, по сути можно прописать {% else %} и вывести изображение-заглушку.
2. Далее цикл по изображениям. Внутри можно использовать различные переменные с параметром img (как он задан внутри for'a).
3. Если надо вывести только первое изображение можно сделать внутри цикла условие {% if (loop.first) %}XXX{% endif %} - которое будет показывать блок только при первой показе цикла (только первое изображение). Другие параметры loop можно посмотреть здесь:http://twig.sensiolabs.org/doc/tags/for.html

Код:
{% if (p.xfields.poster.count > 0) %}
{% for img in p.xfields.poster.entries %}
{% if (loop.first) %}
{{img.url}}
{{img.purl}}
{{img.width}}
{{img.height}}
{{img.pwidth}}
{{img.pheight}}
{{img.name}}
{{img.origName}}
{{img.description}}
{{img.flags.hasPreview}}
{% endif %}
{% endfor %}
{% endif %}
Аналогичено этому коду можно просто выводить первый элемент из массива.

Код:
{% if (p.xfields.poster.count > 0) %}
{{ p.xfields.poster.entries[0].url }}
{{ p.xfields.poster.entries[0].purl }}
{% endif %}
Также, содержимое любой переменной можно посмотреть при помощи debugValue, например:
Код:
{{ debugValue(p.xfields) }}
Или можно просто вывести отладочную информацию по всем доступным в данном месте переменным с их значениями при помощи
Код:
 {{ debugContext(0) }}

Можешь почитать и вот эту статейку "Исправляем ошибки с помощью пользователей"

mistakes

Это тоже интересно

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Ваше мнение

Какой поисковой системой пользуетесь?
Результаты

----