EvgenyAly

EvgenyAly

С нами с 23 ноября 2017; Место в рейтинге пользователей: #738
Володя
28 августа 2018, 09:19
1
+1
поправить / заменить
{$modx->makeUrl($id)}
makeUrl формирует ссылку на ресурс, у вас же объекты UserFile, вам нужно подставлять ссылку на файл
{$url}
Баха Волков
06 декабря 2017, 10:08
1
+1
Суть заключалась совсем в другом, если хотите, то могу наругать объяснить в вк, ну а пока:

[[pdoResources?
    &parents=`0`
    &templates=`8` // Ограничил определенным шаблоном
    &tpl=`MiniAlbumTpl`
    &includeTVs=`resourcealbum`
    &where=`{"resourcealbum:!=":""}` // Тут добавил проверку на заполненность тв
    &limit=`1`
]]

В чанке MiniAlbumTpl:

<div class="flickr">
<ul id="flickrFeed" class="flickr-feed">
    [[getImageList?
  &tvname=`resourcealbum`
  &tpl=`MiniThumb`
  &docid=`[[+id]]` // Вместо [[*id]] нужно было [[+id]] Определите и запомните чем отличается * от +
  &limit=`9`
  &randomize=`1`
]]
</ul>
</div>
Константин Ильин
30 сентября 2017, 11:18
2
+1
Зачем сниппет писать, если можно пару строчек взять из getImageList ну или просто применить свои навыки программирования, благо феном позволяет все на месте писать.

умник ворвется крича что «цикл foreach тебя спасет»
А как еще можно пройтись по массиву?

Если зайти в сниппет getImageList можно найти такие строчки
.....
$fields['_alt'] = $idx % 2;
$idx++;
$fields['_first'] = $idx == 1 ? true : '';
$fields['_last'] = $idx == $limit ? true : '';
$fields['idx'] = $idx;
.....
Надо просто применить их на феноме:
{set $rows = json_decode($_modx->resource.migx_tv, true)}
{set $idx = 0}
{foreach $rows as $idxArr => $row}
    {set $row['idx'] = $idx++} {* idx от созданной переменной с инкриментом*}
    {set $row['idxForeach'] = $row@index} {* idx от foreach*}
    {*set $idxMIGX = $row['MIGX_id']*} {* idx от MIGX*}
    {if $row@first} 
        {set $row['_first'] = 'first item'}
    {/if}
    {if $row@last} 
        {set $row['_last'] = 'last item'}
    {/if}
    {if !($idx % 2)}
        {set $row['_alt'] = 'odd item'}
    {/if}
    {$row | print_r}
{/foreach}