Проблема с выводом категорий Производителя товаров

Имеется такая картина: есть шаблон страницы производителя товаров. В нем с помощью pdoResources выводил информацию о бренде:
{$_modx->runSnippet('!pdoResources',[
 'class' => 'msVendor',
 'tpl' => '@FILE chunks/Brands/BrandPage.html',
 'where' => '{"resource" : '~ $_modx->resource.id ~'}'])}

В самом чанке BrandPage выводил уже информацию с помощью тегов [[+name]] [[+country]] и т.д.
И в нем сделал вызов фильтра, чтобы с помощью него вывести категории, в которых есть товары этого бренда.
А по клику на категорию должен выводиться список товаров такой категории и такого бренда.
Сделал такой вывод путем
{$_modx->runSnippet('!mFilter2',['limit' => 20,
 'parents' => 2,
'element' => 'msProducts',
 'where' => '{"Vendor.id": '~[[+id]]~'}',
 'includeThumbs' => 'small',
'pageLimit' => 5,
'filters' => 'parent:categories',
 'suggestions' => 0,
'tplOuter' => '@FILE chunks/Brands/BrandOuter.html'
 'tplFilter.outer.resource|parent' => '@FILE chunks/Brands/CatFilterOuter.html',
'tplFilter.row.resource|parent' => '@FILE chunks/Brands/CatFilterRow.html'])}
В этом вызове фильтруются товары по бренду, ресурс которого равен текущему ресурсу (в условии where)и по категориям.
В BrandOuter просто вывел {$filters} — фильтры,
а оформление фильтра сделал вот таким:
<li for="mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]" class="[[+disabled]] b-brand__production-item [[+id]]">
<a href="/katalog/brendyi/poisk-po-brendam/?resource|parent=[[+value]]&ms|vendor=[[+id]]" class="b-brand__production-link">[[+title]]</a>
</li>
То есть как видно, я думал отфильтровать по категориям и в запрос просто подставлять id бренда ms|vendor=[[+id]], так как дело все происходит еще на странице бренда где такой плейсхолдер доступен.
Но такая конструкция работает не полностью.Категории выводятся, но в ссылке вместо [[+id]] пустота.
НО. Если в вызове фильтра в
'where' => '{"Vendor.id": '~[[+id]]~'}',
подставить просто цифру = id бренда, то все прекрасно заработает.
Не могу понять почему не подхватывается плейсхолдер бренда.
Может есть мысли у кого-нибудь? Если не очень объяснил, могу дополнить.
Или есть вывод категорий бренда по другому, так чтобы следом опять прикрутить фильтр товаров.
Евгений
02 апреля 2017, 13:46
modx.pro
2
1 828
0

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

Виталий Серый
02 апреля 2017, 19:01
0
Пробовал заменить
'where' => '{"Vendor.id": '~[[+id]]~'}',
на
'where' => '{"Vendor.id": '~$id~'}',
?
    Евгений Webinmd
    02 апреля 2017, 21:22
    0
    'where' => '{"Data.vendor": "'~$id~'"}',
      Василий Наумкин
      02 апреля 2017, 22:27
      1
      +2
      'where' => ['Vendor.id' => $id],

      А если вдруг сниппет не умеет принимать массивы, то
      'where' => json_encode(['field' => $value]),
        Евгений
        03 апреля 2017, 08:41
        0
        Василий, огромное спасибо!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4