SimpleSearch поиск только по товарам miniShop2 c сортировкой по цене
Доброго дня. Каким образом при помощи сниппета SimpleSearch отфильтровать поиск только по товарам miniShop2? Добавил значение всего раздела miniShop, в итоге появляются в поиске разделы товаров и сами товары. Разделы товаров нужно отсечь от поиска, а также профильтровать товары по цене.
Отсекал по разделам, но таким образом уходят и товары.
Вероятно всего есть возможно фильтровать по idType только нет информации какое значение можно выставить.
Прошу помочь.
Отсекал по разделам, но таким образом уходят и товары.
Вероятно всего есть возможно фильтровать по idType только нет информации какое значение можно выставить.
[[!pdoPage?
&element=`SimpleSearch`
&includeTVs=`1`
&ids=`7`
&docFields=`pagetitle`
&useAllWords=`1`
&sortDir=`ASC`
&limit=`10`
]]
Сортировка по цене из этой темы не помогли.Прошу помочь.
Комментарии: 7
Если предположить, что параметр where не предусмотрен, а я его в доке не нашёл, то вероятно надо сделать так
[[!pdoPage?
&element=`SimpleSearch`
&includeTVs=`1`
&ids=`[[msProducts?:default=`999999`?returnIds=`1`&limit=`0`&parents=`7`&sortby=`price`]]`
&docFields=`pagetitle`
&useAllWords=`1`
&limit=`10`
]]
Можно через SimpleSearch получать только id ресурсов и их уже скармливать msProducts, где использовать стандартные методы сортировки, фильтрации и т. д.:
Чанк search_id такой:
А в чанке search_container уже pdoPage и все, что угодно:
Модификатор non нужен, чтобы убрать переносы строк в списке ID:
[[!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);
Ваш вариант рабочий. Только вместо всех найденных 44 товаров приходит только 9. Интересно почему?
Предварительно фильтрую по pagetitle
Предварительно фильтрую по pagetitle
[[!SimpleSearch?
&containerTpl=`search_simple`
&tpl=`search_id`
&docFields=`pagetitle`
]]
Как будто не срабатывает этот код.
<?php
return str_replace(array("\r\n", "\r", "\n"), "", $input);
Вставил сниппетом поверх <div id="pdopage">
Разобрался. SimpleSearch выводит только 10 строк, выставил 100000…. В итоге все данные появились.
[[!SimpleSearch?
&containerTpl=`search_simple`
&tpl=`search_id`
&docFields=`pagetitle`
&perPage=`10000000`
]]
Добрый день столкнулся с такой же проблемой.
Сделал так же как тут писали. все работает, только шаблон товара не хочет подключатся.
Подскажите пожалуйста
Сделал так же как тут писали. все работает, только шаблон товара не хочет подключатся.
Подскажите пожалуйста
&templates=`5` // шаблон товара
это id чанка верно?
Шаблон minishop2. Какие то внутренние данные модуля.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.