aligan

aligan

Был в сети 30 июля 2020, 11:31
Заказы не принимаю
Павел, не совсем верно. К примеру если есть ID = 68 и оно удовлетворяет вашему примеру, а есть ID= 686, и оно удовлетвореяет вашему примеру, но по сути ошибочно
Решение:
[[!pdoResources?
        &element=`getResources`
        &elementClass=`modSnippet`
        &parents=`53`
        &includeTVs=`image,price,price-wsale,subcategory`
        &processTVs=`1`
        &tpl=`product-item`
        &where=`{"template":4}`
        &tvFilters=`subcategory==[[*id]]||%:subcategory==%||[[*id]]:subcategory==%||[[*id]]||%`
        &tvFiltersOrDelimiter=`:`
        
    ]]
Вместо getresources я использовал pdoResources, но это сути не меняет.
Главное тут:
&tvFilters=`subcategory==[[*id]]||%:subcategory==%||[[*id]]:subcategory==%||[[*id]]||%`
Т.е. у нас нужный ID может быть в начале строки, тогда subcategory==[[*id]]||%, либо в середине subcategory==%||[[*id]]||% и последнее в конце subcategory==%||[[*id]]||%
Чтобы заменить параметр ИЛИ (||) на другой воспользовался tvFiltersOrDelimiter
В общем я разобрался в чем была моя проблема. Может кому-то пригодиться на будущее.
Если поле вы в migx создается тип файла изображение и вообще копируете свойства поля (не только изображение) убедитесь чтобы TV-параметр, у которого копируете свойства (с помощью inputTV) не был установлен для данного шаблона, иначе в админке будет работать, а фо фронтеде нет, плейсхолдер выдаст пустое значение.