pdoResources - разбить результаты на несколько блоков.
        Приветствую.
Подскажите, как можно разбить вывод на несколько блоков? К примеру нужно:
    
    
                                                                                
            Подскажите, как можно разбить вывод на несколько блоков? К примеру нужно:
[[!pdoResources?
	&parents=`1`
	&tplWrapper=`wrapper-tpl`
	&tpl_1=`tpl_1`
	&tpl_2=`tpl_2`
]]
// Чанк wrapper-tpl
<div class="row">
	<div class="col-md-6">
		[[$tpl_1]]
	</div>
	<div class="col-md-6">
		[[$tpl_2]]
	</div>
</div>
// Чанк tpl_1
<span>[[+pagetitle]]</span>
// Чанк tpl_2
<p>[[+content]]</p>
п.с.
&tpl_1=`` - это моя фантазия, то бы донести мысль
&tpl_2=`` - это моя фантазия, то бы донести мысльЕсть мысли?    Комментарии: 13
                Не совсем понятно. Ну вызовите сниппет 2 раза, с сохранением данных в плейсхолдеры через параметр &toPlaceholder, с разными именами.            
                    
                Немного переписал год. Вопрос в том, что обертка общая, а вывод нужно будет в разных местах верстки выводить (первый блок в одном одно место, в другом месте другое)
                    [[!pdoResources?
	&parents=`5`
	&limit=`3`
	&tplWrapper=`wrapper-tpl`
	&tpl_1=`tpl_1`
	&tpl_2=`tpl_2`
]]
// Чанк wrapper-tpl
<div class="row">
	<div class="col-md-6">
		// Чанк tpl_1 - <span>[[+pagetitle]]</span> - тут будет выводится это
		[[$tpl_1]] - страница 1
		[[$tpl_1]] - страница 2
		[[$tpl_1]] - страница 3
	</div>
	<div class="col-md-6">
		// Чанк tpl_2 - <p>[[+content]]</p> - тут будет выводится это
		[[$tpl_2]] - страница 1
		[[$tpl_2]] - страница 2
		[[$tpl_2]] - страница 3
	</div>
</div>            
                Что бы проще понять суть вопроса:
                    [[!pdoResources?
    	&parents=`11`
    	&limit=`3`
    	&toSeparatePlaceholders=`myPl`
    	&tplWrapper=`@INLINE
    	    <div class="num">
    	        <div class="1">
    	            [[+myPl0:notempty=`[[+pagetitle]]`]]
    	        </div>
    	        <div class="2">
    	            [[+myPl1:notempty=`[[+content]]`]]
    	        </div>
    	    </div>
    	`
    ]]            
                Да, код выше работать не будет, т.к. &tplWrapper работает только с одним плейсхолдером [[+output]]
Вопрос в том, что мне нельзя повторять шаблон &tplWrapper, а внутри нужно вставлять элементы в разные части верстки.
                    Вопрос в том, что мне нельзя повторять шаблон &tplWrapper, а внутри нужно вставлять элементы в разные части верстки.
                Почему бы не сделать так, без &tplWrapper: 
                    <div class="num">
    <div class="1">
        [[!pdoResources?
	    &parents=`5`
	    &limit=`3`
	    &tpl=`@INLINE <div>[[+pagetitle]]</div>`
        ]]
    </div>
    <div class="2">
        [[!pdoResources?
	    &parents=`5`
	    &limit=`3`
	    &tpl=`@INLINE <div>[[+content]]</div>`
        ]]
     </div>
</div>            
                Да вариант, просто у меня на странице ещё куча вызовов и я боюсь, что это скажется на скорости страницы в целом. Надеялся на более элегантный вариант с одном вызовом pdoResources            
                    
                Если используется fenom на страницах, можно воспользоваться параметром &return=`json` и просто вывести 2 foreach на странице, один с pagetitle, другой с content
                    {set $results = 'pdoResources' | snippet: [
	'parents' => 5,
	'limit' => 3,
	'return' => 'json'
] | fromJSON}
<div class="num">
	<div class="1">
		{foreach $results as $item}
			<div>{$item.pagetitle}</div>
		{/foreach}	
	</div>
	<div class="2">
		{foreach $results as $item}
			<div>{$item.content}</div>
		{/foreach}	
	</div>
</div>            
                Fenom юзаем, то что доктор прописал. Вечером буду тестировать.            
                    
                Вопрос, как мне задать изменение для первого пункта? т.е.
                    {foreach $results as $item}
			<div>{$item.content}</div>
		{/foreach}У первого в списке будет немного другая верстка            
                в foreach можно указывать дополнительные параметры
Подробнее можно почитать тут
                    {foreach $results as $item index=$index first=$first last=$last}
    {if $first}
        <div>{$item.content}</div>
    {/if}
{/foreach}
// или так
{foreach $results as $item}
    {if $item@first}
        <div>{$item.content}</div>
    {/if}
{/foreach}Подробнее можно почитать тут
                Я сильно прошу прощения, но у меня упорно не хочет выводить TV. Вызываю
                    {set $results = 'pdoResources' | snippet: [
    	'parents' => 11,
    	'limit' => 3,
    	'includeTVs' => 'tplImage',
    	'return' => 'json'
    ] | fromJSON}В шаблоне как только не вызывал TV выводить его не хочет. В тоже время не хочет работать, если я хочу посмотреть логи включив параметр showLog            
                Там у TV добавляется префикс tv. его можно убрать параметром tvPrefix => '' тогда должно работать так {$item.tplImage}            
                    
                del            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.