Условие по номеру элемента в fenom для галереи

Здорово что продукт развивается, но вообще не понимаю как в феном написать что то чуть сложнее стандартных выражений.

Подскажите пожалуйста, как в чанке tpl.msGallery первому элементу дописывать класс, вот примерно так:
{foreach $files as $file}
	<a class="grouped_elements item [ЕСЛИ IDX=1 ТОГДА ПИШЕМ active]</b>" rel="group1" href="{$file['url']}">
		<img src="[[phpthumbon? &input=`{$file['url']}` &options=`w=400&h=270&zc=1`]]" alt="[[+description]]" width="400" height="270"/>
	</a>  
{/foreach}
Думаю, что должно быть как то так {if ($idx == 1)}active{/if}, но так не работает.

И ещё вопрос, может быть Minishop 2.4.0 как то можно к тегам modx вернуть? :) я только болеменее их освоил )))
Михаил
12 сентября 2016, 13:42
modx.pro
3
3 480
0

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

Михаил
12 сентября 2016, 18:21
0
Раз удалить нельзя, то отвечу сам себе.
Вот так:
{$file['rank'] == '0' ? 'acive' : ''}

Но есть другой вопрос, как теперь внутри этой конструкции использовать phpthumbon
{foreach $files as $file}
                <a href="{$file['url']}" target="_blank">
                    <img src="[[$phpthumbon? &input=`{$file['url']}` &options=`w=400&h=270&zc=1`]]" alt="" title="">
                </a>
                {$file['rank'] == '0' ? 'acive' : ''}
            {/foreach}
(Да я знаю, что убиваю весь прирост в скорости от использования fenom)
    Михаил
    12 сентября 2016, 18:57
    0
    Вторая часть вопроса тоже снимается. Разобрался и в целом чудно пообщался сам с собой :)
      lexikon
      12 сентября 2016, 20:11
      1
      0
      все проще
      {foreach $photos as $photo first=$first}
             <div class="items__photo{$first?' active':''}"><img src="{$photo}"></div>
      {/foreach}
      и не надо городить конструкции вида
      {if $value@first} first item {/if}
      PS
      phpthumbon можно вызывать как модификатор fenom
      <img src="{$_pls['tv.image']|phpthumbon:'w=698&h=320&zc=1'}" alt="{$description}">
        lexikon
        14 сентября 2016, 12:48
        0
        отличный минус) за помощь )
          Михаил
          14 сентября 2016, 14:01
          0
          Это не я. И большое спасибо. Переменная феном, как параметр, там кстати тоже работает.
    but1head
    12 сентября 2016, 18:48
    2
    +2
    https://github.com/fenom-template/fenom/blob/master/docs/ru/tags/foreach.md

    {foreach $list as $value}
     <div>{if $value@first} first item {/if} {$value}</div>
    {/foreach}
    
    или
    
    {foreach $list as $value first=$first}
     <div>{if $first} first item {/if} {$value}</div>
    {/foreach}
      Максим
      12 сентября 2016, 22:31
      +1
      Вот это тоже лажа, я считаю:
      <img src="[[phpthumbon? &input=`{$file['url']}` &options=`w=400&h=270&zc=1`]]" alt="[[+description]]" width="400" height="270"/>
      Зачем смешивать синтаксис, если можно тут же использовать $_modx->runSnippet. Во-первых, это дает возможность манипулировать параметрами; во-вторых, можно возвращать из сниппетов массивы, а не строки.

      Вообще, с переходом на Fenom Minishop стал только лучше, делать магазины быстрее и удобнее. Хорошо бы и до mFilter очередь дошла.
        Роман Садоян
        12 сентября 2016, 23:07
        +1
        Зачем смешивать синтаксис, если можно тут же использовать $_modx->runSnippet.
        +

        Вообще, с переходом на Fenom Minishop стал только лучше, делать магазины быстрее и удобнее. Хорошо бы и до mFilter очередь дошла.


        {$_modx->runSnippet('!mFilter2', [
               'paginator' => 'pdoPage',
               'limit' => 0,
               'element' => 'msProducts',
               'filters' => 'ms|price:number,msoption|size:asc,msoption|color:asc,msvendor|country,ms|vendor:vendors',
               'class' => 'msProduct',
               'sort' => 'resource|pagetitle:asc,ms|vendor:asc',
               'tplFilter.outer.ms|price' => 'tpl.mFilter2.filter.slider.rol',
               'tplFilter.row.ms|price' => 'tpl.mFilter2.filter.number.rol',
               'tplOuter' => 'tpl.mFilter2.outer.rol',
               'tplFilter.outer.default' => 'tpl.mFilter2.filter.outer.rol',
               'tplFilter.row.default' => 'tpl.mFilter2.filter.checkbox',
               'tpl' => 'tpl.msProducts.row.rol',
               'tplPageWrapper' => '@INLINE <ul class="uk-pagination">{$first}{$prev}{$pages}{$next}{$last}</ul>',
               'tplPage' => '@INLINE <li><a href="{$href}">{$pageNo}</a></li>',
               'tplPageActive' => '@INLINE <li class="uk-active"><span>{$pageNo}</span></li>',
               'tplPageSkip' => '@INLINE <li class="uk-disabled"><span>...</span></li>',
               'tplPagePrevEmpty' => '@INLINE <li class="uk-disabled"><span>«</span></li>',
               'tplPageNextEmpty' => '@INLINE <li class="uk-disabled"><span>»</span></li>',
               'showLog' => 0,
               'fastMode' => 0
              ])}
        Вот такой код и все сопутствующие чанки у меня полностью на феном.

        Или ты хочешь что бы всё из коробки было?
          Максим
          12 сентября 2016, 23:55
          +1
          У меня тоже, но хочется без tplOuter и т.п. Я бы и сам сделал, загвоздка в статусе компонента.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        9