• 2347
  • 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) }}

Можешь почитать и вот эту статейку "Меняем в плагине basket alert на аякс окошко с оформлением"

mistakes

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

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

Ваше мнение

TWIG -что это?
Результаты

Облако тегов

Anything in here will be replaced on browsers that support the canvas element