Вывод результатов pdopage

Для выравнивания плиток со страницами нужно оборачивать каждые 3 записи в row.
На вордпрессе это реализовано так:
<?php if(have_posts()) : ?>
<?php $counter = 0;  ?>
<div class="row">
<?php  while ( have_posts() ) : the_post();
do_action( 'alienship_loop_before' );
get_template_part( '/templates/parts/content-archive', get_post_format() );
do_action( 'alienship_loop_after' ); ?>
<?php if ($counter % 3 == 1) echo "</div><div class=' row'>"; $counter = $counter + 2; ?>
<?php endwhile; ?>
Как реализовать это здесь не понимаю.
С modx только начинаю знакомство.
Misha Bulic
11 ноября 2016, 08:29
modx.pro
1 604
0

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

Павел Романов
11 ноября 2016, 13:07
0
Используйте параметры &tpl_nN, &tplFirst и &tplLast.

В чанке, указанном в &tpl_n3 и &tplLast в конце добавьте:
</div>

В чанке, указанном в &tpl_n4 и &tplFirst в начале добавьте:
<div class="row">
    Misha Bulic
    11 ноября 2016, 13:40
    0
    [[!pdopage?
    &parents=`2`
    &tpl=`card`
    &tpl_n3=`card2`
    &tplLast=`card2`
    &tpl_n4=`card1`
    &tplFirst=`card1`
    &tpl=`card`
    &limit=`12`
    &sortby=`id`
    &sortdir=`asc`
    &includeTVs=`image1`
    &includeContent=`1`
    ]]
    только первые 2 строки нормально, потом по странному ведёт себя
    <div class="col-md-9">
            <h1>Каталог</h1>
            <hr>
        <div class="row">
    <a href="catalog/1">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    <a href="catalog/2">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    <a href="catalog/3">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    </div>
    <div class="row">
    <a href="catalog/4">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    <a href="catalog/5">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    <a href="catalog/6">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    </div>
    <a href="catalog/7">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    <div class="row">
    <a href="catalog/8">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    <a href="catalog/9">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    </div>
    <a href="catalog/10">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    <a href="catalog/11">
    <div class="col-md-4 col-sm-6">
    	<div class="panel panel-default">
            <img src="http://placehold.it/400x300" alt="Каталог" class="img-responsive imgpro">
    
        </div>
    </div>
    </a>
    </div>
      Павел Романов
      11 ноября 2016, 15:19
      0
      Попробуйте так:
      <div class="row">
      	[[!pdoPage?
      	&tpl=`card`
      	&tpl_n3=`card3`
      	&limit=`12`
      	...........
      	]]
      </div>

      Чанк card простой, а в чанке card3 в конце так:
      </div>
      <div class="row">
        Misha Bulic
        11 ноября 2016, 15:28
        0
        Вроде получилось, спасибо!
          Здоров Александр
          11 ноября 2016, 15:41
          +1
          1 — modx.pro/development/9549-groupresources-wrap-results/
          2 — modx.pro/development/9549-groupresources-wrap-results/#comment-65523 намного легче, сам не пробовал но уверен в Илье
            Misha Bulic
            11 ноября 2016, 15:49
            0
            я пока не во всем разобрался в ModX, но можно ли сделать так:
            &tpl=`@INLINE &tpl=`card`{if $idx % 5 == 0}</div><div class="row">{/if}`
            В инлайн вставить ссылку на чанк?
              Здоров Александр
              11 ноября 2016, 15:53
              +1
              inline это тот же чанк, но прописанный «по месту», а не в отдельном чанке, так что твоя конструкция не верна, надо так:
              &tpl=`@INLINE <div class="...">{if $idx % 5 == 0}</div>{/if}`
                Misha Bulic
                11 ноября 2016, 15:56
                0
                значит в инлайне можно вызвать другой чанк? тогда получится ли так:
                &tpl=`@INLINE [[$card]]{if $idx % 3 == 0}</div><div class="row">{/if}`
                  Здоров Александр
                  11 ноября 2016, 16:15
                  0
                  оказалось можно вызывать, никогда так не пробовал, я дал ссылку на пост, где похожая ситуация, как быть дальше эксперементировать вам, видел что у вас получилось, очень рад, я лишь привел альтернативу, вдруг поможет
                    Misha Bulic
                    11 ноября 2016, 16:17
                    0
                    Альтернатива получилась компактнее, спасибо.
                      Здоров Александр
                      11 ноября 2016, 16:19
                      0
                      на почту напишите итоговый вариант, может мне потом пригодится, как раз лежит слайдер товаров
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      11