Как выводить через pdoResources разные блоки?
        Привет! Подскажите как через pdoResources выводить блоки разного размера?
Есть на сайте проекты, они реализованы следующим образом:
Чанк проектов
http://torrez.ru/project/
Но, на главной верстка немного отличается если посмотрите(либо можно глянуть здесь). Как можно через pdoResources сделать вывод на главной? Там разница лишь в классе col-md-3 col-sm-6 и col-md-6 col-sm-12
А на страничке проекты, класс тоже отличается, там у всех проектов которые добавляются, применяется класс col-md-4 col-sm-6
    
    
                                                                                
            Есть на сайте проекты, они реализованы следующим образом:
Чанк проектов
<!-- main container -->
<div class="main-container portfolio-inner clearfix">
  <!-- portfolio div -->
  <div class="portfolio-div">
	<div class="portfolio">
	  <!-- portfolio_container -->
	  <div class="no-padding portfolio_container clearfix">
		[[pdoResources?
		&parents=`[[*id]]`
		&depth=`0`
		&tpl=`tpl.project`
		&includeTVs=`img`
		&processTVs=`1`
		]]		
	  </div>
	  <!-- end portfolio_container -->
	</div>
	<!-- portfolio -->
  </div>
  <!-- end portfolio div -->
</div>
<!-- end main container -->чанк тпл проекта:<!-- single work -->
<div class="col-md-4 col-sm-6">
  <a href="[[~[[+id]]]]" class="portfolio_item">
	<img src="[[+tv.img:phpthumbof=`w=1000&h=1000&zc=1`]]" alt="[[+pagetitle]]" class="img-responsive" />
	<div class="portfolio_item_hover">
	  <div class="portfolio-border clearfix">
		<div class="item_info">
		  <span>[[+pagetitle]]</span>
		  <em>[[+introtext]]</em>
		</div>
	  </div>
	</div>
  </a>
</div>
<!-- end single work -->на сайте это выглядит вот так:http://torrez.ru/project/
Но, на главной верстка немного отличается если посмотрите(либо можно глянуть здесь). Как можно через pdoResources сделать вывод на главной? Там разница лишь в классе col-md-3 col-sm-6 и col-md-6 col-sm-12
А на страничке проекты, класс тоже отличается, там у всех проектов которые добавляются, применяется класс col-md-4 col-sm-6
Комментарии: 21
                В чанке вывода сделать проверку на id.
                    [[*id:is=`1`:then=`col-md-4 col-sm-6`:else`col-md-6 col-sm-12`]]Либо можно сделать разные чанки и сделать вызов pdoResources через феном, записать параметры вызова как массив, в зависимости от страницы вызова подставлять нужный чанк.            
                А pdoResources можно в разных чанках вызывать? Или только в одном, а для того чтобы в разных это делать нужен этот феном? Потому что через проверку по ИД не получится такое замутить!            
                    
                Почему не получится по id?
Вопрос был — на главной выводится одно, на остальных страницах другое.
Должно работать.
Через стандартный парсер тоже можно вывести, но придется городить условия.
                    Вопрос был — на главной выводится одно, на остальных страницах другое.
Должно работать.
Через стандартный парсер тоже можно вывести, но придется городить условия.
                на главной пытаюсь вывести, то что у меня находится в проектах:
                    [[pdoResources?
		&parents=`[[*id]]`
		&depth=`0`
		&tpl=`tpl.project`
		&includeTVs=`img`
		&processTVs=`1`
		]]не работает, хотя в проектах все четко работает.            &parents=`[[*id]]`А у главной есть свои проекты?            
                Нет, у главной нет своих проектов, я пытался вывести проекты из страницы проектов, но смог только таким образом:
                    [[!pdoResources?
		&parents=`{{*id}}`
		&depth=`2`
		&tpl=`tpl.content`
		&includeTVs=`img`
		&processTVs=`1`
		]]            
                Все очень просто — параметр parents выводит дочерние страницы определенного ресурса.
В данном вызове в параметр parents подставляется id текущей страницы, то есть если вызов на главной — идет запрос на дочерние страницы главной.
Т.е. нужно вставить в parents id страницы с проектами.
                    В данном вызове в параметр parents подставляется id текущей страницы, то есть если вызов на главной — идет запрос на дочерние страницы главной.
Т.е. нужно вставить в parents id страницы с проектами.
                Да теперь работает как надо, спасибо Олег!
Теперь вопрос как на главной сделать вид отображения тот что в топике выше описывал или тут?
В чанке проверку на айди таким образом не работает:
                    Теперь вопрос как на главной сделать вид отображения тот что в топике выше описывал или тут?
В чанке проверку на айди таким образом не работает:
[[*id:is=`1`:then=`col-md-3 col-sm-6`:else`col-md-6 col-sm-12`]]сейчас вызов ресурса у главной вот такой:[[!pdoResources?
		&parents=`8`
		&depth=`0`
		&tpl=`tpl.content`
		&includeTVs=`img`
		&processTVs=`1`
		]]            
                После else не хватает =            
                    
                Выводит все ресурсы которые есть и не делает блоки разного размера как надо тут, что то не так делаю видимо:
Сейчас чанк «tpl.content» оформления проекта на главной имеет вид:
                    Сейчас чанк «tpl.content» оформления проекта на главной имеет вид:
<!-- single work -->
<div class="col-md-3 col-sm-6">
  <a href="[[~[[+id]]]]" class="portfolio_item">
	<img src="[[+tv.img:phpthumbof=`w=1000&h=1000&zc=1`]]" alt="[[+pagetitle]]" class="img-responsive" />
	<div class="portfolio_item_hover">
	  <div class="portfolio-border clearfix">
		<div class="item_info">
		  <span>[[+pagetitle]]</span>
		  <em>[[+introtext]]</em>
		</div>
	  </div>
	</div>
  </a>
</div>
<!-- end single work -->А чанк «content» всех проектов на главной такой:<div class="portfolio-div">
  <div class="portfolio">
	<div class="no-padding portfolio_container">
	        [[!pdoResources?
		&parents=`[[*id:is=`1`:then=`col-md-3 col-sm-6`:else=`col-md-6 col-sm-12`]]`
		&depth=`0`
		&tpl=`tpl.content`
		&includeTVs=`img`
		&processTVs=`1`
		]]
	</div>
	<!-- end portfolio_container -->
  </div>
  <!-- portfolio -->
</div> Так тоже не работает &parents=`[[*id:is=`8`..            
                Уууу… Тут все запущенно.
Давай так, чтобы не морочиться:
Для главной
Для остальных чанк tpl.content
                    Давай так, чтобы не морочиться:
Для главной
[[!pdoResources?
		&parents=`8`
		&depth=`0`
		&tpl=`tpl.content_main`
		&includeTVs=`img`
		&processTVs=`1`
		]]Для остальных[[!pdoResources?
		&parents=`[[*id]]`
		&depth=`0`
		&tpl=`tpl.content`
		&includeTVs=`img`
		&processTVs=`1`
		]]Для главной чанк tpl.content_mainДля остальных чанк tpl.content
                Сейчас сделал все вот в таком формате:
Для главной

gyazo.com/58670ffcb5a4d66bd622432a68d1490e
для страницы всех проектов

gyazo.com/0bca822faf33f197c8ee59f50e369ba7
Вот теперь нужно для чанка projects_main задать проверку на id?
Потому что, пока на главной все блоки выстраиваются одинаково по классу col-md-3 col-sm-6 так как у меня там указан конкретный id (8)
                    Для главной

gyazo.com/58670ffcb5a4d66bd622432a68d1490e
для страницы всех проектов

gyazo.com/0bca822faf33f197c8ee59f50e369ba7
Вот теперь нужно для чанка projects_main задать проверку на id?
Потому что, пока на главной все блоки выстраиваются одинаково по классу col-md-3 col-sm-6 так как у меня там указан конкретный id (8)
Как можно через pdoResources сделать вывод на главной? Там разница лишь в классе col-md-3 col-sm-6 и col-md-6 col-sm-12— можно выставлять все в разный плейсхолдеры, а плейсхолдеры раскидывать по верстке как нужно, это уместно если количество блоков, например, заранее определено.
docs.modx.pro/components/pdotools/snippets/pdoresources смотри &toSeparatePlaceholders
                Владимир спасибо за ответ, а что значит это уместно если кол-во блоков заранее определено? У меня эти блоки появляются, когда я завожу в админке новый проект и по сути их может быть сколько угодно. 
Или же ты имеешь ввиду про лимит кол-ва блоков которое располагается на странице? Лимит я хочу выставить 5 блоков(последних проектов которые были добавлены) на главной, а на странице проектов сделать пагинацию через pdoPage, и там будет 9 блоков и внизу пагинация (пока еще не сделал правда, но это вроде не сложно). =)
            
                    Или же ты имеешь ввиду про лимит кол-ва блоков которое располагается на странице? Лимит я хочу выставить 5 блоков(последних проектов которые были добавлены) на главной, а на странице проектов сделать пагинацию через pdoPage, и там будет 9 блоков и внизу пагинация (пока еще не сделал правда, но это вроде не сложно). =)
                Что бы точно решение найти нужно так же точно представлять задачу. Можно выводить в разные чанки см. docs.modx.pro/components/pdotools/general-settings 
&tpl_N Имя чанка для N-го ресурса, например, &tpl_4=`tpl4th` установит шаблон для 4-го ресурса.
&tpl_nN Имя чанка для каждого N-го ресурса, например, &tpl_n4=`tplEvery4th` будет применено к каждому 4-му ресурсу.
Ну и важно, какая пагинация, если ajax то чуть сложнее, т.к. может развалиться верстка с разноразмерными блоками (может развалиться, не значит что должна)
                    &tpl_N Имя чанка для N-го ресурса, например, &tpl_4=`tpl4th` установит шаблон для 4-го ресурса.
&tpl_nN Имя чанка для каждого N-го ресурса, например, &tpl_n4=`tplEvery4th` будет применено к каждому 4-му ресурсу.
Ну и важно, какая пагинация, если ajax то чуть сложнее, т.к. может развалиться верстка с разноразмерными блоками (может развалиться, не значит что должна)
                Владимир, помогло спасибо большое!
Но теперь ситуация следующая, которую хотелось бы решить.
Сейчас на главной странице у меня расположены 4 проекта.
Каждый ресурс, в данном случает проект, имеет чанк вывода tpl.project_main, у которого используется класс col-md-3 col-sm-6, кроме 3го ресурса, ему я задал другой чанк с классом col-md-6 col-sm-12. Через &tpl_N сделал это.
Вот для наглядности сделал скрин чтобы не запутаться:

увеличить
 
Так вот, эти блоки теперь заведомо выстраиваются таким образом
ссылка на фото
То есть 3й блок всегда большой, так как я ему дал класс необходимый, но хочу сделать чтобы этот 3 блок превращался в такой вид только когда добавлено 5 проектов.
Как реализовать так чтобы при добавлении нового блока менялся общий вид исходя из того какой это блок по счету и сколько блоков(то есть проектов) вообще.
То есть если мы добавили первый проект, он у нас один на странице, пусть будет в пол экрана, далее добавили 2й проект, так же в пол экрана, далее 3й в треть экрана, 4й в четверть, а при добавлении пятого вид становился бы таким:
            
                    Но теперь ситуация следующая, которую хотелось бы решить.
Сейчас на главной странице у меня расположены 4 проекта.
Каждый ресурс, в данном случает проект, имеет чанк вывода tpl.project_main, у которого используется класс col-md-3 col-sm-6, кроме 3го ресурса, ему я задал другой чанк с классом col-md-6 col-sm-12. Через &tpl_N сделал это.
Вот для наглядности сделал скрин чтобы не запутаться:

увеличить
Так вот, эти блоки теперь заведомо выстраиваются таким образом
ссылка на фото
То есть 3й блок всегда большой, так как я ему дал класс необходимый, но хочу сделать чтобы этот 3 блок превращался в такой вид только когда добавлено 5 проектов.
Как реализовать так чтобы при добавлении нового блока менялся общий вид исходя из того какой это блок по счету и сколько блоков(то есть проектов) вообще.
То есть если мы добавили первый проект, он у нас один на странице, пусть будет в пол экрана, далее добавили 2й проект, так же в пол экрана, далее 3й в треть экрана, 4й в четверть, а при добавлении пятого вид становился бы таким:
            
                Если резюмировать, то как бы реализовать так чтобы при добавлении 1 и 2 проекта, у нас использовался класс который растягивал 2 проекта по 50% каждый, при добавлении 3 проекта, использовался бы у всех 3х новый класс который растягивал бы на 33,3%, при добавлении 4 проекта, снова у всех использовался бы новый класс по 25% каждый блок, а при добавлении 5 проекта, вступал в силу &tpl_N, где мы бы для 3го ресурса задавали другой чанк с нужным классом.            
                    
                есть плейсхолдер тотал (&totalVar total), в него выводится общее число результатов, есть idx (номер итерации вывода результатов), в чанке можно составить условие на феном по этим параметрам и получить нужный класс для соответствующих блоков.            
                    
                Спасибо, Владимир) На словах кажется все просто, но как такое условие стряпать=(            
                    
                ну давайте подумаем) 
t.me/user_shadow
                    t.me/user_shadow
                Большое спасибо Владимиру, решили проблему с помощью фенома и плейсхолдера (&totalVar total).
косок условия из чанка обертки проектов:
                    косок условия из чанка обертки проектов:
{if $_modx->getPlaceholder('total_1') == 2}
{set $myclass = "col-md-6 col-sm-12"}
{elseif $_modx->getPlaceholder('total_1') == 3}
{set $myclass = "col-md-4 col-sm-6"}
{elseif $_modx->getPlaceholder('total_1') == 4}
{set $myclass = "col-md-3 col-sm-6"}
{elseif $_modx->getPlaceholder('total_1') == 6}
{set $myclass = "col-md-4 col-sm-6"}
{else}
{set $myslass = "col-md-3 col-sm-6"}
{/if}Так же для 3го проекта использовался отдельный чанк с таким условием:{if $_modx->getPlaceholder('total_1') == 4}
{set $myclass = "col-md-3 col-sm-6"}
{elseif $_modx->getPlaceholder('total_1') == 5}
{set $myclass = "col-md-6 col-sm-12"}
{elseif $_modx->getPlaceholder('total_1') == 6}
{set $myclass = "col-md-4 col-sm-6"}
{else}
{set $myclass = "col-md-4 col-sm-6"}
{/if}А чанк вывода всех проектов где происходит непосредственно сам подресурс:[[!pdoResources?
		&parents=`[[*id]]`
		&depth=`0`
		&tpl=`tpl.project`
		&tpl_3=`tpl.p3th`
		&includeTVs=`img,plan`
		&processTVs=`1`
		&totalVar=`total_1`
		]]            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.