Вывод дочерних документов (pdoResources)
Есть страница, на которую при помощи pdoResources + TV должны выводиться изображения. Каждое изображение — это отдельный дочерний документ страницы.
В принципе, тут сложного ничего нет:
В коде шаблона страницы, на которой будут выводиться картинки, пишу:
Но есть нюанс.
Блок div (тот, что был в коде) имеет переменный CSS-класс, в котором прописано количество колонок, которое может быть у этого блока. К примеру, от 1 до 4. При помощи TV в виде выпадающего списка с одиночным выбором, можно выбрать один из CSS-классов.
Проблема в том, что мне нужно, чтобы таких блоков на странице было больше одного. Но сообразить, как это реализовать, не получается.
По сути нужно сделать так, чтобы у страницы А создавался дочерний документ Б, в котором можно из списка выбрать имя CSS-класса для блока, затем уже в документе Б создавать дочерний документ (или несколько), каждый из которых и будет отдельной картинкой. При этом должна быть возможность создать другой дочерний документ у этой же страницы А (назовем его Б2), опять же выбрать имя CSS-класса, после чего нагенерить новых дочерних документов-картинок.
Буду благодарен за подсказку.
В принципе, тут сложного ничего нет:
В коде шаблона страницы, на которой будут выводиться картинки, пишу:
<div class="[[*TV]]"> (об этом будет чуть ниже)
<ul>
[[pdoResources?
&depth=`0`
&limit=`0`
&tpl=`чанк с кодом элемента списка (<li><img src="[[+tv.picture]]"></li>)`
&includeTVs=`picture`
&includeContent=`1`
&sortby=`{"publishedon":"ASC"}`
]]
</ul>
</div>Но есть нюанс.
Блок div (тот, что был в коде) имеет переменный CSS-класс, в котором прописано количество колонок, которое может быть у этого блока. К примеру, от 1 до 4. При помощи TV в виде выпадающего списка с одиночным выбором, можно выбрать один из CSS-классов.
Проблема в том, что мне нужно, чтобы таких блоков на странице было больше одного. Но сообразить, как это реализовать, не получается.
По сути нужно сделать так, чтобы у страницы А создавался дочерний документ Б, в котором можно из списка выбрать имя CSS-класса для блока, затем уже в документе Б создавать дочерний документ (или несколько), каждый из которых и будет отдельной картинкой. При этом должна быть возможность создать другой дочерний документ у этой же страницы А (назовем его Б2), опять же выбрать имя CSS-класса, после чего нагенерить новых дочерних документов-картинок.
Буду благодарен за подсказку.
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Задача нестандартная, поэтому и попросил тут совета.
И в шаблоне это можно вывести так
Ну или использовать сниппет getImageList для обработки полей типа migx.
В чём нестандартность задачи неясно, может быть ты что-то не договариваешь?
Просто там может быть вероятность размещения не только изображений, но и, к примеру, встроенных видеороликов или просто текстовых блоков.