Вывод статей в блоках разного размера

Добрый день!
Подскажите, пожалуйста, как можно сделать вывод статей в шаблон с элементами разного размера? Например,
<div class="articles">
    <div class="container-wrap">
        <div class="row">
            <div class="col-md-6">[[$tplpost]]</div>
            <div class="col-md-6">[[$tplpost]]</div>
        </div>
        <div class="col-md-12">[[$tplpost]]</div>
        <div class="row">
            <div class="col-md-4">[[$tplpost]]</div>
            <div class="col-md-4">[[$tplpost]]</div>
            <div class="col-md-4">[[$tplpost]]</div>
        </div>
   </div>
</div>
чанк tplpost
<div class="block-item">
    <div class="block-img" style="background-image: url([[+tv.image]]);">
	    <div class="block-body">
		<h2 class="block-title"><a href="[[~[[+id]]]]">[[+pagetitle]]</a></h2>
		<p>[[+introtext]]</p>
	    </div>
	</div>
</div>
Когда добавляю в шаблон
<div class="articles">
	<div class="container-wrap">
		<div class="row">
                    <div class="col-md-6">
			[[!pdoPage?
				      &element=`pdoResources`
				      &parents=`[[*id]]`
				      &tpl=`tplpost`
				      &includeTVs=`image`
				      &hideContainers=`1`
				      &limit=`20`
				      &tplPageWrapper=@INLINE <ul class="pagination">[[+prev]][[+pages]][[+next]]</ul>
				    ]]
                    </div>
		</div>
        </div>
</div>
выводятся разные статьи, но все шириной col-md-6. А как прописать, чтобы выводились разные статьи под следующие разные по ширине блоки, указанные в шаблоне?
Я новичок, буду признателен за подробный ответ
Владимир
18 июля 2020, 14:38
modx.pro
683
0

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

Aborrol
19 июля 2020, 18:02
0
Зависит от того, по какой логике хочешь указывать размер. Можно указывать для каждого ресурса в тв-поле размер блока, и подставлять его в тпл. Можно сделать на феном и выводить размер блока сделав по условию индекса. Можно прописать параметры tplcondition.

И да, лучше поправь верстку в своих примерах.
Вадим Раевский
19 июля 2020, 18:29
0
Вроде так:

Создать дополнительное TV поле, например, md_width

Контейнер для статей
<div class="articles">
	<div class="container-wrap">
		<div class="row">
			[[!pdoPage?
			  &element=`pdoResources`
			  &parents=`[[*id]]`
			  &tpl=`tplpost`
			  &includeTVs=`image,md_width`
			  &hideContainers=`1`
			  &limit=`20`
			  &tplPageWrapper=@INLINE <ul class="pagination">[[+prev]][[+pages]][[+next]]</ul>
			]]
		</div>
	</div>
</div>
В чанк tplpost
<div class="col-md-[[+tv.md_width:default=`6`]]">
	<div class="block-item">
		<div class="block-img" style="background-image: url([[+tv.image]]);">
			<div class="block-body">
			<h2 class="block-title"><a href="[[~[[+id]]]]">[[+pagetitle]]</a></h2>
			<p>[[+introtext]]</p>
			</div>
		</div>
	</div>
</div>
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
4