Связи просых ресурсов и товаров miniShop2 по их полям

Здравствуйте!
Есть сайт с miniShop2
На сайте размещены каталог проектов домов и портфолио с выполненными объектами
Пытаюсь реализовать связь портфолио с проектом и наоборот.
Каталок с проектами выполнен на miniShop2, а портфолио на обычных ресурсах.
Связь пытаюсь вывести через дополнительные поля: в портфолио это поле portfolio_article, а в проектах это родное поле article
Пример вывода связи на странице проекта:

{var $output = 'ms2GalleryResources' | snippet: [
    'tpl' => 'proekt-item-portfolio'
    'parents' => '19'
    'where' => '{"portfolio_article:LIKE":"%[[*article]]%"}'
    'limit' => '2'
    'includeThumbs' => 'medium'
    'includeTVList' => 'portfolio, portfolio_article'
]}
{if $output}
<h2 class="text-center">Этот проект в нашем портфолио</h2>
<div class="row">
{$output}
</div>
{/if}
На другом сайте реализованном без miniShop2 всё работает нормально, а с miniShop2 связь не наладить.
Я так понимаю, это по причине того, что в miniShop2 поля полями не являются.
Подскажите, как быть?
Или я просто неправильно делаю вывод?
Илья
05 января 2022, 15:02
modx.pro
341
0

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

Артур Шевченко
06 января 2022, 00:33
0
Согласно описанию сниппета ms2GalleryResources:
Сниппет для вывода ресурсов через pdoResources с присоединением первой картинки из галереи ресурса.
Отсюда следует, что твоё TV надо тоже присоединить, это делается параметром includeTVs.
    Илья
    09 января 2022, 12:12
    0
    Присоединил includeTVs — не помогло.
    Не работает именно эта связка:
    {"portfolio_article:LIKE":"%[[*article]]%"}
    Вот такие логи:
    0.0000379: Loaded model "ms2gallery" from "/core/components/ms2gallery/model/"
    0.0000231: pdoTools loaded
    0.0000088: xPDO query object created
    0.0002460: Included list of tvs: portfolio, portfolio_article
    0.0000570: leftJoined msResourceFile as medium
    0.0000350: leftJoined modTemplateVarResource as TVportfolio
    0.0000319: leftJoined modTemplateVarResource as TVportfolio_article
    0.0000560: Added selection of modResource: `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `alias_visible`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
    0.0000062: Added selection of msResourceFile: `url` as `medium`,`name` as `medium.name`,`description` as `medium.description`,`createdon` as `medium.createdon`,`createdby` as `medium.createdby`,`properties` as `medium.properties`,`alt` as `medium.alt`,`add` as `medium.add`
    0.0000019: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.portfolio`
    0.0000021: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.portfolio_article`
    0.0000300: Replaced TV conditions
    0.0003381: Processed additional conditions
    0.0004299: Added where condition: `TVportfolio_article`.`value`:LIKE=%КПП-02 Люкс%, modResource.parent:IN(19,134,144,154,155,156,157,158,159,160,161,162,163,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,208,219,220,221,222,223,224,225,260,261,262,264,265), modResource.published=1, modResource.deleted=0
    0.0000021: Replaced TV conditions
    0.0000219: Sorted by modResource.publishedon, DESC
    0.0000012: Limited to 2, offset 0
    0.0001178: SQL prepared "SELECT `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`alias_visible`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, `medium`.`url` as `medium`, `medium`.`name` as `medium.name`, `medium`.`description` as `medium.description`, `medium`.`createdon` as `medium.createdon`, `medium`.`createdby` as `medium.createdby`, `medium`.`properties` as `medium.properties`, `medium`.`alt` as `medium.alt`, `medium`.`add` as `medium.add`, IFNULL(`TVportfolio`.`value`, '') AS `tv.portfolio`, IFNULL(`TVportfolio_article`.`value`, '') AS `tv.portfolio_article` FROM `kfsz8k4f2Ra7_site_content` AS `modResource` LEFT JOIN `kfsz8k4f2Ra7_ms2_resource_files` `medium` ON `medium`.`resource_id` = `modResource`.`id` AND `medium`.`parent` != 0 AND `medium`.`path` LIKE '%/medium/%' AND `medium`.`active` = 1 AND `medium`.`rank` = 0 LEFT JOIN `kfsz8k4f2Ra7_site_tmplvar_contentvalues` `TVportfolio` ON `TVportfolio`.`contentid` = `modResource`.`id` AND `TVportfolio`.`tmplvarid` = 12 LEFT JOIN `kfsz8k4f2Ra7_site_tmplvar_contentvalues` `TVportfolio_article` ON `TVportfolio_article`.`contentid` = `modResource`.`id` AND `TVportfolio_article`.`tmplvarid` = 18 WHERE  ( `TVportfolio_article`.`value` LIKE '%КПП-02 Люкс%' AND `modResource`.`parent` IN (19,134,144,154,155,156,157,158,159,160,161,162,163,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,208,219,220,221,222,223,224,225,260,261,262,264,265) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  ORDER BY modResource.publishedon DESC LIMIT 2 "
    0.0007870: SQL executed
    0.0000038: Rows fetched
    0.0000069: Prepared and processed TVs
    0.0000010: Returning processed chunks
    0.0019190: Total time
    4 194 304: Memory usage
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2