Дмитрий
С нами с 21 марта 2019; Место в рейтинге пользователей: #2521Убрать товары которых нет в наличии
Добрый день, пытаюсь вывести товары в каталог через mFilter2, как отсортировать и вывести все позиции модификации (msOptionsPrice2) которых имеются в наличии
{$_modx->runSnippet('!mFilter2', [
'element' => 'msProducts',
'class' => 'msProduct',
'showEmptyFilters' => 1,
'limit' => 36,
'tplOuter' => '@FILE chunks/tpl_mfilter_outer.tpl',
'sort' => 'msoption|count:asc',
'ajaxMode' => 'scroll',
'loadModels' => 'easycomm',
'leftJoin' => '{
"ecThread": {
"class": "ecThread",
"on": "msProduct.id = ecThread.resource"
}
}',
'select' => '{
"msProduct": "*",
"ecThread": "ecThread.rating_simple AS rating, ecThread.count AS reviews",
}',
'filterOptions' => '{
"more_tpl": "<div class=\"text-center\"><button class=\"btn btn-blue btn-rounded btn_more\">Загрузить еще</button></div>"
}',
])}
Фильтрация результатов mSearch2
имеется вывод результатов поиска на странице
<h1>{$_modx->resource.longtitle ?: $_modx->resource.pagetitle}</h1>
{$_modx->runSnippet('!mSearchForm', [
'tplForm' => '@FILE chunks/tpl_search_form_page.tpl',
])}
{var $res = $_modx->runSnippet('!mSearch2', [
'parents' => 0,
'returnIds' => 1,
'limit' => 0,
'where' => '{"template":12}',
])}
{if $res}
<div id="pdopage" class="products">
<div class="search-results row rows">
{$_modx->runSnippet('!pdoPage', [
'element' => 'msProducts',
'parents' => '0',
'resources' => $res,
'tpl' => '@FILE chunks/tpl_product.tpl',
'ajaxMode' => 'scroll',
'limit' => 36,
])}
</div>
</div>
{/if}
Также имеется плагин msOptionsPrice2, как отфильтровать вывод результатов поиска, избавившись от позиций, которых нет в наличии? mSearch2 выводит не все результаты
Здравствуйте, mSearch вместо 66 позиций, выводит всего 10, в чем может быть проблема?
<div class="container">
<h1>{$_modx->resource.longtitle ?: $_modx->resource.pagetitle}</h1>
{$_modx->runSnippet('!mSearchForm', [
'tplForm' => '@FILE chunks/tpl_search_form_page.tpl',
])}
{var $res = $_modx->runSnippet('!mSearch2', [
'parents' => 0,
'returnIds' => 1,
'where' => '{"template":12}'
])}
{if $res}
<div id="pdopage" class="products">
<div class="search-results row rows">
{$_modx->runSnippet('!pdoPage', [
'element' => 'msProducts',
'parents' => 0,
'resources' => $res,
'tpl' => '@FILE chunks/tpl_product.tpl',
'limit' => 24,
'where' => '{ "Data.availability:>":"0" }',
'ajaxMode' => 'scroll',
])}
</div>
</div>
{/if}
</div>
mFilter2 вывести товары по критериям
В объект товара добавил поле остатка, как вывести товары через сниппет mFilter2 у которых остаток больше 0?
На данный момент вывожу сниппет таким образом
На данный момент вывожу сниппет таким образом
{$_modx->runSnippet('!mFilter2', [
'element' => 'msProducts',
'class' => 'msProduct',
'showEmptyFilters' => 1,
'limit' => 12,
'filters' => 'msoption|material,
ms|availability:availability,',
'aliases' => 'msoption|material==material,,
ms|availability==available',
'ajaxMode' => 'scroll',
'loadModels' => 'easycomm',
'where' => '{"class_key":"msProduct"}',
'leftJoin' => '{
"ecThread": {
"class": "ecThread",
"on": "msProduct.id = ecThread.resource"
}
}',
'select' => '{
"msProduct": "*",
"ecThread": "ecThread.rating_simple AS rating, ecThread.count AS reviews"
}', ])}