[mSearch] Производитель +фильтрация товаров в MS2
как в выводе mFilter выводить имя вендора а не ID?
Ну на странице товара в чанке msProduct.content было проще, просто указал ".name" к [[+vendor]] =
[[+vendor.name]] и все пучком (:
[[!mFilter?
&resources=`[[!getCatIds]]`
&includeTVs=`0`
&includeMS=`1`
&includeMSList=`price,new,favorite,popular,size,color,vendor`
&sortFilters=`ms_new,ms_favorite,ms_popular,ms_size,ms_color,ms_price`
&tpl=`tpl.msProducts.row`
]]
просто vendor выводит idНу на странице товара в чанке msProduct.content было проще, просто указал ".name" к [[+vendor]] =
[[+vendor.name]] и все пучком (:
Комментарии: 9
Спасибо, но мне сегодня не везет и все с 1го раза не получается :)
создал сниппет с именем, вставил туда код, добавил: имя к vendor и производители вообще не выводятся, конфликт версий?
вот вызов в mFilter
modx.pro/help/1258/#comment-10843или там ошибка или ошибка.
создал сниппет с именем, вставил туда код, добавил: имя к vendor и производители вообще не выводятся, конфликт версий?
вот вызов в mFilter
&includeMSList=`price,new,favorite,popular,size,color,vendor:extra_filter_vendor`
и это, в журнале ошибок нет и в консоли тоже, но vendor:extra_filter_vendor не выводится и следующие параметры которые я за ним пишу тоже не выводятся
дописываю :vendor_extra_filter и ничего не выводит
код чанка mFilter
код чанка mFilter
<form action="[[~[[*id]]]]" method="post" id="mFilter">
[[!mFilter?
&resources=`[[!getCatIds]]`
&includeTVs=`0`
&includeMS=`1`
&includeMSList=`price,new,favorite,popular,size,color,<b>vendor:vendor_extra_filter</b>`
&sortFilters=`ms_new,ms_favorite,ms_popular,ms_size,ms_color,ms_price`
&tpl=`tpl.msProducts.row`
]]
</form>
Код сниппета vendor_extra_filter$ids = $scriptProperties['ids'];
$param = $scriptProperties['param'];
if (empty($ids) || empty($param)) {return false;}
$q = $modx->newQuery('msVendor');
$q->leftJoin('msProductData', 'Data', 'Data.vendor = msVendor.id');
$q->select('Data.id,msVendor.name');
$q->where(array('Data.id:IN' => $ids));
if ($q->prepare() && $q->stmt->execute()) {
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
$arr = array(
'name' => 'Производитель'
,'type' => 'text'
,'values' => array()
);
foreach ($res as $v) {
$arr['values'][$v['name']][] = $v['id'];
}
return json_encode($arr);
}
не пашет, может снова что то не так в обновлении?
Ты в курсе, что если нечего фильтровать — фильтр не выводится?
Судя по картинке в посте, вендоры товарам у тебя не назначены.
Судя по картинке в посте, вендоры товарам у тебя не назначены.
во блин, там поле есть «Ресурс» я для одного производителя его указал и все появились не понятно… потом снова его убрал и производители появились…
кеш сайта чистил постоянно
кеш сайта чистил постоянно
аналогично, что то сразу не пошло, только после ресурсов…
Привет Василий.
Удели плз минутку…
Погуглил, инфы не нашёл…
Есть ли возможность показывать «железно» филд vendor?
Т.е.: к примеру у меня в разделе только телефоны nokia, и было бы круто выводить эту выборку (просто как неактивную). Сейчас просто если производитель в разделе только один, поле для фильтра по производителю не выводится, оно рендерится только если производителей как минимум 2.
Можно ли это как то обойти (проблему думаю понятно обрисовал)?
Спасибо.
Удели плз минутку…
Погуглил, инфы не нашёл…
Есть ли возможность показывать «железно» филд vendor?
Т.е.: к примеру у меня в разделе только телефоны nokia, и было бы круто выводить эту выборку (просто как неактивную). Сейчас просто если производитель в разделе только один, поле для фильтра по производителю не выводится, оно рендерится только если производителей как минимум 2.
Можно ли это как то обойти (проблему думаю понятно обрисовал)?
Спасибо.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.