SimpleSearch поиск только по товарам miniShop2 c сортировкой по цене

Доброго дня. Каким образом при помощи сниппета SimpleSearch отфильтровать поиск только по товарам miniShop2? Добавил значение всего раздела miniShop, в итоге появляются в поиске разделы товаров и сами товары. Разделы товаров нужно отсечь от поиска, а также профильтровать товары по цене.

Отсекал по разделам, но таким образом уходят и товары.

Вероятно всего есть возможно фильтровать по idType только нет информации какое значение можно выставить.
[[!pdoPage? 
    &element=`SimpleSearch`
    &includeTVs=`1`
    &ids=`7`
    &docFields=`pagetitle`
    &useAllWords=`1`
    &sortDir=`ASC`
    &limit=`10`
]]
Сортировка по цене из этой темы не помогли.
Прошу помочь.
Руслан
10 февраля 2023, 16:17
modx.pro
1
670
0

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

Артур Шевченко
10 февраля 2023, 17:22
1
0
Если предположить, что параметр where не предусмотрен, а я его в доке не нашёл, то вероятно надо сделать так
[[!pdoPage? 
    &element=`SimpleSearch`
    &includeTVs=`1`
    &ids=`[[msProducts?:default=`999999`?returnIds=`1`&limit=`0`&parents=`7`&sortby=`price`]]`
    &docFields=`pagetitle`
    &useAllWords=`1`    
    &limit=`10`
]]
    Павел Романов
    10 февраля 2023, 18:25
    1
    0
    Можно через SimpleSearch получать только id ресурсов и их уже скармливать msProducts, где использовать стандартные методы сортировки, фильтрации и т. д.:

    [[!SimpleSearch?
        &containerTpl=`search_container`
        &tpl=`search_id`
    ]]

    Чанк search_id такой:
    [[+id]],

    А в чанке search_container уже pdoPage и все, что угодно:

    <div id="pdopage">
        <div class="rows">
            [[!pdoPage?
                &element=`msProducts`
                &resources=`[[+results:non]]`
                &parents=`7`
                &templates=`5` // шаблон товара
                &sortby=`Data.price`
                //и т .д.
                ]]
        </div>
        [[!+page.nav]]
    </div>

    Модификатор non нужен, чтобы убрать переносы строк в списке ID:
    <?php
    return str_replace(array("\r\n", "\r", "\n"), "", $input);
      Руслан
      10 февраля 2023, 21:17
      0
      Ваш вариант рабочий. Только вместо всех найденных 44 товаров приходит только 9. Интересно почему?
      Предварительно фильтрую по pagetitle
      [[!SimpleSearch?
          &containerTpl=`search_simple`
          &tpl=`search_id`
          &docFields=`pagetitle`
      ]]
        Руслан
        11 февраля 2023, 01:34
        0
        Как будто не срабатывает этот код.
        <?php
        return str_replace(array("\r\n", "\r", "\n"), "", $input);
        Вставил сниппетом поверх
        <div id="pdopage">
          Руслан
          11 февраля 2023, 22:35
          0
          Разобрался. SimpleSearch выводит только 10 строк, выставил 100000…. В итоге все данные появились.
          [[!SimpleSearch?
              &containerTpl=`search_simple`
              &tpl=`search_id`
              &docFields=`pagetitle`
              &perPage=`10000000`
          ]]
      Сергей
      03 марта 2023, 13:54
      0
      Добрый день столкнулся с такой же проблемой.
      Сделал так же как тут писали. все работает, только шаблон товара не хочет подключатся.
      Подскажите пожалуйста
      &templates=`5` // шаблон товара
      это id чанка верно?
        Руслан
        03 марта 2023, 15:31
        0
        Шаблон minishop2. Какие то внутренние данные модуля.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        7