Sergey Leleko

Sergey Leleko

Был в сети 23 октября 2020, 13:26
Заказы принимаю
В итоге привел по наводке Александра к такому виду
{pdoResources' | snippet : [
        'limit' => 0,
        'parents' => $poselki,
        'depth' => 0,
        'return' => 'ids',
        'select' => '{
                "modResource":"*",
                "Status":"`value` AS `sell_status`"
            }',
        'leftJoin' => '{
                "Status":{"class":"msProductOption","on":"Status.product_id = modResource.id AND Status.key = \'sell_status\'"}
            }',
        'includeTVs' => 'searching',
	'tvFilters' => 'searching==1',
        'where' => '{"searching":"1", "AND:Status.value:IN":['',0,2]}',
        'showLog' => 0}
И все заработало как надо.
И всетаки убедитесь что у вас разрешения на файлы и папки все верно выставлены, и чтобы были права у пользователя под которым работает у вас веб сервер.
Если нет, то как вариант прогнать сетап (обновление модикса) поверх. Конечно предварительно забекапив.
Вы абсолютно правы! Спасибо за помощь Вам, Алексею Ерохину.
А так же отдельное огромное спасибо Илье Уткину. С учетом всего и вся получился вот такой результат:
{if $_modx->resource.link_ids}	
        <h2>разновидности</h2>
        <div class="row different">
                <div class="col-md-6" style="min-height: 200px;">
                  <ul>
                      {'!pdoResources' | snippet : [
                      'parents' => '0',
                      'limit' => '12',
                      'depth' => '1',
                      'tvPrefix' => '',
                      'includeTVs' => 'link_ids',
                      'resources' => $_modx->resource.link_ids,
                      'tpl' => '@INLINE <li><a href="/{$uri}">{$pagetitle}</a></li>
                            {if $idx == 6}</ul></div>
                            <div class="col-md-6" style="min-height: 200px;"><ul>{/if}',
                      'sortdir' => 'ASC'
                      ]}
                  </ul>
                  </div>
            {/if}
Это решение подразумевает:
1) Один вызов pdoResources, если кол-во перечисленных айди больше 6 то выводится вторая колонка.
2) Если TV вообще пустой то блок не выводится
про depth да, не заметил сразу, но это не помогло.
Некешированный вызов тоже не помог.
Привел к такому виду:
<div class="col-md-6">
                <ul>
                        {'!pdoResources' | snippet : [
                        'parents' => '0',
                        'limit' => '6',
                        'depth' => '1',
                        'tvPrefix' => '',
                        'includeTVs' => 'link_ids',
                        'resources' => $link_ids,
                        'tpl' => '@INLINE <li><a href="/{$uri}">{$pagetitle}</a></li>',
                        'sortdir' => 'ASC'
                        ]}
                </ul>
            </div>
            <div class="col-md-6">
                <ul>
                {'!pdoResources' | snippet : [
                        'parents' => '0',
                        'offset' => '6',
                        'limit' => '6',
                        'depth' => '1',
                        'tvPrefix' => '',
                        'includeTVs' => 'link_ids',
                        'resources' => $link_ids,
                        'tpl' => '@INLINE <li><a href="/{$uri}">{$pagetitle}</a></li>',
                        'sortdir' => 'ASC'
                        ]}
                </ul>
            </div>
Но такой вариант выводит только то что и находится в самом верхнем уровне. resources все равно игнорируется
Спасибо. Тоже уже задумался о том чтобы использовать pdoResources, но все равно не то выводит.
<ul>
                        {'pdoResources' | snippet : [
                        'limit' => '6',
                        'level' => '1',
                        'tvPrefix' => '',
                        'includeTVs' => '{$link_ids}',
                        'resources' => '{$link_ids}',
                        'tpl' => '@INLINE <li><a href="/{$uri}">{$pagetitle}</a></li>',
                        'sortdir' => 'ASC'
                        ]}
                </ul>
            </div>
            <div class="col-md-6">
                <ul>
                {'pdoResources' | snippet : [
                        'offset' => '6',
                        'limit' => '6',
                        'level' => '1',
                        'tvPrefix' => '',
                        'includeTVs' => '{$link_ids}',
                        'resources' => '{$link_ids}',
                        'tpl' => '@INLINE <li><a href="/{$uri}">{$pagetitle}</a></li>',
                        'sortdir' => 'ASC'
                        ]}
                </ul>
Такое ощущение что просто выводит все что есть в этом родителе, игнорируя то что перечислено в параметре resources