Как исключить родительский ресурс из выборки pdoResources?
Возникла проблема при переходе на феном
Как можно исключить родительский ресурс из выборки?
Пытался так, не вышло
Как можно исключить родительский ресурс из выборки?
Пытался так, не вышло
'resources' => '-'$_modx->resource['parent'],
Комментарии: 9
'resources' => '-'~$_modx->resource.parent,
Данный вариант к сожалению не работает, все равно показывает ресурс(
вам показали как перевести вашу конструкцию в феном, что вам на самом деле надо и в каком виде не очень понятно.
Можно спокойно писать и так
'resources' => -$_modx->resource.parent,
И данный вариант к не работает, все равно показывает ресурс(
Напишите полностью вызов, покажите дерево ресурсов, и какая стоит задача, т.к. действительно непонятно что надо получить в итоге.
Конструкция там немножко запутанная
{set $num = "[[#[[*parent]].genre]]"}
{var $numArr = $num | split}
{set $index = 1}
{set $max = $numArr | length}
{set $n = ""}
{foreach $numArr as $item}
{if $index == 1}
{set $n = $n~"`TVgenre`.`value` LIKE '%"~$item~"%'"}
{else}
{if $index == $max}
{set $n = $n~" OR `TVgenre`.`value` LIKE '%"~$item~"%'"}
{else}
{set $n = $n~" OR `TVgenre`.`value` LIKE '%"~$item~"%'"}
{/if}
{/if}
{set $index = $index+1}
{/foreach}
{$_modx->runSnippet('pdoPage', [
'sortby' => 'RAND()',
'parents' => '289',
'dept' => '0',
'limit' => '20',
'where' => [$n],
'resources' => '-'~$_modx->resource.parent,
'includeTVs' => 'image, genre',
'tpl' => 'game-item',
'tplPageWrapper' => '@INLINE <ul class="pagination-list">{$first}{$prev}{$pages}{$next}{$last}</ul>',
'tplPageActive' => '@INLINE <li class="active-page"><span>{$pageNo}</span></li>',
'tplPageFirst' => '@INLINE <li class="page"><a href="{$href}">Первая</a></li>',
'tplPageLast' => '@INLINE <li class="page"><a href="{$href}">Последняя</a></li>',
'tplPage' => '@INLINE <li class="page"><a href="{$href}">{$pageNo}</a></li>',
'tplPageFirstEmpty' => '@INLINE <li class="hidden"><span>Первая</span></li>',
'tplPageLastEmpty' => '@INLINE <li class="hidden"><span>Последняя</span></li>',
'tplPageNext' => '@INLINE <li class="page"><a href="{$href}">Следующая</a></li>',
'tplPagePrev' => '@INLINE <li class="page"><a href="{$href}">Предыдущая</a></li>',
'tplPageNextEmpty' => '@INLINE <li class="hidden"><a href="{$href}">Следующая</a></li>',
'tplPagePrevEmpty' => '@INLINE <li class="hidden"><a href="{$href}">Предыдущая</a></li>',
])}
Видимо, нужно добавлять условие в where, раз вы его вручную записывате
{set $n = ""}
{foreach $numArr as $item}
{if $index == 1}
{set $n = $n~"(`TVgenre`.`value` LIKE '%"~$item~"%'"}
{else}
{if $index == $max}
{set $n = $n~" OR `TVgenre`.`value` LIKE '%"~$item~"%'"}
{else}
{set $n = $n~" OR `TVgenre`.`value` LIKE '%"~$item~"%'"}
{/if}
{/if}
{set $index = $index+1}
{/foreach}
{set $n = $n~") AND `modResource`.`id` NOT IN (" ~ $_modx->resource.parent ~ ")"}
Ну и ставьте параметр 'showLog' => 1 и проверяйте итоговый SQL-запрос
Илья, огромное тебе спасибо! Все работает!)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.