Обернуть каждые N элементов массива в Fenom

Здравствуйте уважаемые друзья! Вопрос в том как вывести элементы массива с учетом того что каждые четыре должны быть обернуты в тег? Например вот стандартный чанк ms2gallery:
{if $files?}
    <div class="slider">
        {foreach $files as $file}
            <div class="slide">
		        <img src="{$file['url']}">
	        </div>
        {/foreach}
    </div>
{/if}
А нужно (просто привожу схематично структуру):
{if $files?}
    <div class="slider">
           <div class="slide">
		    <img src="{$file['url']}">
                    <img src="{$file['url']}">
                    <img src="{$file['url']}">
                    <img src="{$file['url']}">
	    </div>
        {/foreach}
    </div>
{/if}
Понимаю что нужен какой-то цикл for 1..4 но как его реализовать не решу…
Анатолий
28 апреля 2020, 12:16
modx.pro
3
492
0

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

Сергей Шлоков
28 апреля 2020, 14:23
1
+3
{if $files?}
{set $files = array_chunk($files, 4)}
<div class="slider">
{foreach $files as $fileGroup}
    <div class="slide">
    {foreach $fileGroup as $file}
        {$file}
    {/foreach}
    </div>
{/foreach}
</div>
{/if}
Возможно придется включить php на страницt в настройках pdoTools.
    Анатолий
    28 апреля 2020, 14:50
    0
    Сергей, спасибо! array_chunk крутая штука, даже не знал о ней)
    Артем
    28 апреля 2020, 14:26
    1
    +2
    {foreach $files as $file}
        {if $file@index % 4 == 0}
            // выполняется каждые 4 итерации
            // все что вне этого блока - выполняется каждую итерацию
        {/if}
    {/foreach}
      Анатолий
      28 апреля 2020, 14:51
      -1
      Благодарю, тоже полезная вещь, но с array_chunk будет проще
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4