фильтр ресурсов по тв чз ajax не срабатывает
прикрепил к товарам твшки все настроил вроде правильно а не работает сволочуга, может я чтото упустил?
такой фильтр верстка
такой фильтр верстка
<div class="filterbox filter_content p-4 row">
<form class="filter_plan ajax-form">
<input type="hidden" name="sortby" value="pagetitle">
<input type="hidden" name="sortdir" value="asc">
<h2 class="text-center">Фильтр</h2>
<div class="area_form_box">
<h4 class="text-left">тип</h4>
<div class="form-check">
<input class="form-check-input checkbox-stage" value="ready" type="radio" name="types" >
<label class="form-check-label" >
готовое решение
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox-stage" value="modul" type="radio" name="types" >
<label class="form-check-label">
модульная кухня
</label>
</div>
</div>
<div class="area_form_box">
<h4 class="text-left">конфигурация</h4>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="config" value="line">
<label class="form-check-label">
прямая
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="config" value="ugol">
<label class="form-check-label">
угловая
</label>
</div>
</div>
<div class="area_form_box">
<h4 class="text-left">стиль</h4>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="style" value="classic">
<label class="form-check-label">
классика
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="style" value="sovr">
<label class="form-check-label">
современный
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="style" value="hitec">
<label class="form-check-label">
хай-тек
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="style" value="loft">
<label class="form-check-label">
лофт
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="style" value="scand">
<label class="form-check-label">
скандинавский
</label>
</div>
</div>
<div class="area_form_box">
<h4 class="text-left">материал фасада</h4>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="fasad" value="dsp">
<label class="form-check-label">
дсп
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="fasad" value="massive">
<label class="form-check-label">
массив
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="fasad" value="plastic">
<label class="form-check-label">
пластик
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="fasad" value="steklo">
<label class="form-check-label">
стекло
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="fasad" value="mdfplenka">
<label class="form-check-label">
мдф пленка
</label>
</div>
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="fasad" value="mdfkraska">
<label class="form-check-label">
мдф краска
</label>
</div>
</div>
<div class="submit_btn mt-4">
<input class='reset_form ajax-reset mx-2 px-4' type="submit" value="Сбросить фильтр">
<input class='show mx-2 px-5 ajax-start' type="submit" value="Подобрать">
</div>
</form>
</div>
сниппет<?php
//Filter Fields Settings
$filter = array();
//Radio, Select & Text Fields Type
if($_GET['types']) {
$filter[] = 'types='.$_GET['types'];
}
if($_GET['config']) {
$filter[] = 'config='.$_GET['config'];
}
if($_GET['style']) {
$filter[] = 'style='.$_GET['style'];
}
if($_GET['fasad']) {
$filter[] = 'fasad='.$_GET['fasad'];
}
//Two Text Fields From To
/*if($_GET['plot_area_from']) {
$filter[] = 'plot_area>='.$_GET['plot_area_from'];
}
if($_GET['plot_area_to']) {
$filter[] = 'plot_area<='.$_GET['plot_area_to'];
}
if($_GET['area_house_from']) {
$filter[] = 'area_house>='.$_GET['area_house_from'];
}
if($_GET['area_house_to']) {
$filter[] = 'area_house<='.$_GET['area_house_to'];
}
*/
//Checkbox Type
/*if($_GET['garage']) {
$filter[] = 'garage=1';
}*/
//End Settings
//Sort
if($_GET['sortby']) {
$sortby = $_GET['sortby'];
} else {
$sortby = 'pagetitle';
}
if($_GET['sortdir']) {
$sortdir = $_GET['sortdir'];
} else {
$sortdir = 'asc';
}
//End Sort
//Offset
$offset = 0;
if($_GET['offset']){
$offset = $_GET['offset'];
}
if($filter) {
$where = $modx->toJSON(array($filter));
} else {
$where = '';
}
$params_count = array(
'parents' => $parents,
'limit' => 0,
'tpl' => '@INLINE ,',
'select' => 'id',
'includeTVs' => $fields,
'showHidden' => '1',
'where' => $where
);
$count = $modx->runSnippet('msProducts',$params_count);
$count = count(explode(',',$count))-1;
$modx->setPlaceholder('count',$count);
$params = array(
'parents' => $parents,
'limit' => $limit,
'offset' => $offset,
'tpl' => $tpl,
'select' => 'id,pagetitle,introtext,content',
'includeTVs' => $fields,
'showHidden' => '1',
'sortby' => $sortby,
'sortdir' => $sortdir,
'where' => $where
);
$more = $count - $offset - $limit;
$lim = $more > $limit ? $limit : $more;
$button = '';
if($more > 0){
$button = '<div class="ajax-filter-count" data-count="'.$count.'"><a href="#" class="ajax-more">Загрузить еще '.$lim.' из '.$more.'</a></div>';
}
return $modx->runSnippet('msProducts',$params).$button;
и сам скрипт js$(function() {
//MODx pdoResources Ajax Filter
//Filter Settings
var fadeSpeed = 200, // Fade Animation Speed
ajaxCountSelector = '.ajax-count', // CSS Selector of Items Counter
ajaxContainerSelector = '.ajax-container', // CSS Selector of Ajax Container
ajaxItemSelector = '.ajax-item', // CSS Selector of Ajax Item
ajaxFormSelector = '.ajax-form', // CSS Selector of Ajax Filter Form
ajaxFormButtonStart = '.ajax-start', // CSS Selector of Button Start Filtering
ajaxFormButtonReset = '.ajax-reset', // CSS Selector of Button Reset Ajax Form
sortDownText = 'По убыванию',
sortUpText = 'По возрастанию';
$('' + ajaxFormSelector + '').submit(function() {
return false;
});
function ajaxCount() {
if($('.ajax-filter-count').length) {
var count = $('.ajax-filter-count').data('count');
$(ajaxCountSelector).text(count);
} else {
$(ajaxCountSelector).text($(ajaxItemSelector).length);
}
}ajaxCount();
function ajaxMainFunction() {
$.ajax({
data: $(ajaxFormSelector).serialize()
}).done(function(response) {
var $response = $(response);
$(ajaxContainerSelector).fadeOut(fadeSpeed);
setTimeout(function() {
$(ajaxContainerSelector).html($response.find(ajaxContainerSelector).html()).fadeIn(fadeSpeed);
ajaxCount();
}, fadeSpeed);
});
}
$(ajaxContainerSelector).on('click', '.ajax-more', function(e) {
e.preventDefault();
var offset = $(ajaxItemSelector).length;
$.ajax({
data: $(ajaxFormSelector).serialize()+'&offset='+offset
}).done(function(response) {
$('.ajax-more').remove();
var $response = $(response);
$response.find(ajaxItemSelector).hide();
$(ajaxContainerSelector).append($response.find(ajaxContainerSelector).html());
$(ajaxItemSelector).fadeIn();
});
})
$(ajaxFormButtonStart).click(function(e) {
e.preventDefault();
ajaxMainFunction();
})
$(ajaxFormButtonReset).click(function(e) {
e.preventDefault();
$(ajaxFormSelector).trigger('reset');
$('input[name=sortby]').val('pagetitle');
$('input[name=sortdir]').val('asc');
setTimeout(function() {
$('[data-sort-by]').data('sort-dir', 'asc').toggleClass('button-sort-asc').text(sortUpText);
}, fadeSpeed);
ajaxMainFunction();
ajaxCount();
})
$(''+ajaxFormSelector+' input').change(function() {
ajaxMainFunction();
})
$('[data-sort-by]').data('sort-dir', 'asc').click(function() {
var ths = $(this);
$('input[name=sortby]').val($(this).data('sort-by'));
$('input[name=sortdir]').val($(this).data('sort-dir'));
setTimeout(function() {
$('[data-sort-by]').not(this).toggleClass('button-sort-asc').text(sortUpText);
ths.data('sort-dir') == 'asc' ? ths.data('sort-dir', 'desc').text(sortDownText) : ths.data('sort-dir', 'asc').text(sortUpText);
$(this).toggleClass('button-sort-asc');
}, fadeSpeed);
ajaxMainFunction();
});
});
что с ним не так? не заводится собака — вот оно Комментарии: 46
Куда ты отправляешь данные? Почему у label нет for, а у чекбоксов нет id?
надо чекбоксы тогда внутри label, чтоб без id и for работало
внутри тоже не работает и даже и с id и for
Вот про что вам говорят:
<div class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="fasad" id="fasad-massive" value="massive">
<label for="fasad-massive" class="form-check-label">массив</label>
</div>
или так <label class="form-check">
<input class="form-check-input checkbox_stage" type="radio" name="fasad" value="massive">
<span class="form-check-label">массив</span>
</label>
тут вот работает, тоже самое вроде как
for и id были из стандартного бутстраповского примера — не работало )))))
for и id были из стандартного бутстраповского примера — не работало )))))
В общем, по-моему, должен быть приёмник ajax запросов. Я такого не вижу
А вы в курсе такого тэга как cut?
нет, а что это?
сделал как в рабочем примере разметку и все равно не работает :(
сделал как в рабочем примере разметку и все равно не работает :(
<div class="filterbox filter_content p-4 row">
<form class="filter_plan ajax-form">
<input type="hidden" name="sortby" value="pagetitle">
<input type="hidden" name="sortdir" value="asc">
<h2 class="text-center">Фильтр</h2>
<h4 class="text-left"><label>тип</label></h4>
<div class="area_form_box">
<div><input class="form-check-input checkbox-stage" value="ready" type="radio" name="types">готовое решение</div>
<div><input class="form-check-input checkbox-stage" value="modul" type="radio" name="types">модульная кухня</div>
</div>
<h4 class="text-left"><label>конфигурация</label></h4>
<div class="area_form_box">
<div><input class="form-check-input checkbox_stage" type="radio" name="config" value="line">прямая</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="config" value="ugol">угловая</div>
</div>
<h4 class="text-left"><label>стиль</label></h4>
<div class="area_form_box">
<div><input class="form-check-input checkbox_stage" type="radio" name="style" value="classic">классика</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="style" value="sovr">современный</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="style" value="hitec">хай-тек</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="style" value="loft">лофт</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="style" value="scand">скандинавский</div>
</div>
<h4 class="text-left"><label>материал фасада</label></h4>
<div class="area_form_box">
<div><input class="form-check-input checkbox_stage" type="radio" name="fasad" value="dsp">дсп</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="fasad" value="massive">массив</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="fasad" value="plastic">пластик</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="fasad" value="steklo">стекло</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="fasad" value="mdfplenka">мдф пленка</div>
<div><input class="form-check-input checkbox_stage" type="radio" name="fasad" value="mdfkraska">мдф краска</div>
</div>
<div class="submit_btn mt-4">
<input class='reset_form ajax-reset mx-2 px-4' type="submit" value="Сбросить фильтр">
<input class='show mx-2 px-5 ajax-start' type="submit" value="Подобрать">
</div>
</form>
</div>
Просто убрать портянку с главной страницы вопросов. Обрезайте текст для вывода на главной тегом cut.
а, сорян, поставил якорь
Где у вас $fields объявлено? Затем для TV нужно писать запросы так:
TVfasad.value
Ну и как минимум упростить код:$fields = ['types', 'config', 'style', 'fasad'];
foreach ($fields as $field) {
if(isset($_GET[$field])) $filter[] = $field . '=' . $_GET[$field];
}
includeTVs:'includeTVs' => implode(",", $fields)
[[!filter? &tpl=`tovartplcat` &limit=`32` &parents=`2` &fields=`types,config,style,fasad`]]
а для чего писать tv запросы? не понял…
$filter[] = 'TVconfig.value='.$_GET['config'];
красиво но не работает
У вас выдает пустоту, значит снипет не работает:
https://maltipuhome.ru/test?config=line
Сортировка работает, значит проблема с where, ее нужно решать.
Возможно проблема в этом:
https://maltipuhome.ru/test?config=line
Сортировка работает, значит проблема с where, ее нужно решать.
Возможно проблема в этом:
$where = $modx->toJSON(array($filter));
заменить на
$where = $modx->toJSON($filter);
попробовал но и оно не срабатывает
может хостер чтото не поддерживает? или в чем может быть проблема?
может хостер чтото не поддерживает? или в чем может быть проблема?
Думаю тут проще нанять разработчика. потому что гадать вы будете долго.
вечерком проверю на другом хосте
как определил что сортировка работает? вижу что не выгружаются блоки с ресурсами
/test?sortby=pagetitle&sortdir=asc
/test?sortby=pagetitle&sortdir=desc
/test?sortby=price&sortdir=asc
/test?sortby=price&sortdir=desc
/test?sortby=pagetitle&sortdir=desc
/test?sortby=price&sortdir=asc
/test?sortby=price&sortdir=desc
ага, понятно
но оба варианта не работают
но оба варианта не работают
$where = $modx->toJSON(array($filter));
заменить на
$where = $modx->toJSON($filter);
а вообще вот отсюда оно
У карточек заполнены характеристики?
В catalogFilter нужно добавить &showLog=`1`, чтобы посмотреть, какой запрос идет в базу
В catalogFilter нужно добавить &showLog=`1`, чтобы посмотреть, какой запрос идет в базу
да
сейчас поглядимс
а где смотреть лог?
сейчас поглядимс
а где смотреть лог?
что с этим where не так?
if($filter) {
$where = $modx->toJSON(array($filter));
} else {
$where = '';
}
как проверить что за массив он получает и вообще получает ли из//Filter Fields Settings
$filter = array();
//Radio, Select & Text Fields Type
if($_GET['types']) {
$filter[] = 'types='.$_GET['types'];
}
if($_GET['config']) {
$filter[] = 'config='.$_GET['config'];
}
if($_GET['style']) {
$filter[] = 'style='.$_GET['style'];
}
if($_GET['fasad']) {
$filter[] = 'fasad='.$_GET['fasad'];
}
<?
if($filter) {
$modx->log(1,print_r($filter,1));
$where = $modx->toJSON(array($filter));
}
....
Результат смотрите в журнале ошибок модх [2022-10-10 09:01:03] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 48) Array
(
[0] => types=
)
[2022-10-10 09:01:03] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/pdotools/model/pdotools/pdofetch.class.php : 178) [pdoTools] Error 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND ( `msProduct`.`parent` IN (2,24,5,6,7,8,9,10,11,12,13,14,21,64,62,65,66,67,' at line 1
[2022-10-10 09:01:03] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/pdotools/model/pdotools/pdofetch.class.php : 178) [pdoTools] Error 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND ( `msProduct`.`parent` IN (2,24,5,6,7,8,9,10,11,12,13,14,21,64,62,65,66,67,' at line 1
оставил в запросе только одно поле, думаю иначе бы по каждому были ошибки подобные
хмммм
[2022-10-10 09:06:13] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 7) PHP warning: Undefined array key "types"
[2022-10-10 09:06:13] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 24) PHP warning: Undefined array key "sortby"
[2022-10-10 09:06:13] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 29) PHP warning: Undefined array key "sortdir"
[2022-10-10 09:06:13] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 38) PHP warning: Undefined array key "offset"
[2022-10-10 09:06:13] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/minishop2/handlers/storage/session/cartsessionhandler.class.php : 15) PHP warning: Undefined array key "minishop2"
[2022-10-10 09:06:13] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/minishop2/handlers/storage/session/cartsessionhandler.class.php : 15) PHP warning: Trying to access array offset on value of type null
[2022-10-10 09:06:13] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/minishop2/handlers/storage/session/ordersessionhandler.class.php : 22) PHP warning: Undefined array key "minishop2"
[2022-10-10 09:06:13] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/minishop2/handlers/storage/session/ordersessionhandler.class.php : 22) PHP warning: Trying to access array offset on value of type null
if($_GET['fasad']) {
$filter[] = 'fasad='.$_GET['fasad'];
}
Значение должно быть в кавычках.Попробуй htmx для фронта, не надо будет писать js.
вот такое при обновлении страницы и потом нажатии чекбоксов в фильтре, что это?
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 7) PHP warning: Undefined array key "types"
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 10) PHP warning: Undefined array key "config"
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 13) PHP warning: Undefined array key "style"
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 16) PHP warning: Undefined array key "fasad"
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 23) PHP warning: Undefined array key "sortby"
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 28) PHP warning: Undefined array key "sortdir"
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 37) PHP warning: Undefined array key "offset"
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/minishop2/handlers/storage/session/cartsessionhandler.class.php : 15) PHP warning: Undefined array key "minishop2"
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/minishop2/handlers/storage/session/cartsessionhandler.class.php : 15) PHP warning: Trying to access array offset on value of type null
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/minishop2/handlers/storage/session/ordersessionhandler.class.php : 22) PHP warning: Undefined array key "minishop2"
[2022-10-10 09:15:12] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/components/minishop2/handlers/storage/session/ordersessionhandler.class.php : 22) PHP warning: Trying to access array offset on value of type null
[2022-10-10 09:15:34] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 10) PHP warning: Undefined array key "config"
[2022-10-10 09:15:34] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 13) PHP warning: Undefined array key "style"
[2022-10-10 09:15:34] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 16) PHP warning: Undefined array key "fasad"
[2022-10-10 09:15:34] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 37) PHP warning: Undefined array key "offset"
[2022-10-10 09:15:34] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/35.include.cache.php : 47) Array
(
[0] => types=1
)
слишком много ошибок для простого поднятия сайта.
Напишите какие у вас версии пакетов модх и конфиг сервера(пхп, мускл)
Напишите какие у вас версии пакетов модх и конфиг сервера(пхп, мускл)
modx 2.8.4
PHP Version 8.0.24 была ранее 7,4 это ничего не меняло
mysql 5.7.36-39
pdotools 2.13.2-pl
minishop 3.0.6-pl
в целом на хосте несколько сайтов, но там нет такого фильтра
PHP Version 8.0.24 была ранее 7,4 это ничего не меняло
mysql 5.7.36-39
pdotools 2.13.2-pl
minishop 3.0.6-pl
в целом на хосте несколько сайтов, но там нет такого фильтра
На PHP Version 8.0.24 работать не будет, вернитесь на 7,4.
вернулся
сайт где работает на 7.4.28
на сайте где 7.4.32 не работает
пробовал и старее весрии ставить не помогло
сайт где работает на 7.4.28
на сайте где 7.4.32 не работает
пробовал и старее весрии ставить не помогло
Смотрите логи php. Какие там ошибки и исправляйте.
pastebin.com/Y3G6g18h
Вот мой сниппет для фильтров в минишопе, может поможет
Вот мой сниппет для фильтров в минишопе, может поможет
добавил правки под новую
if(isset($_GET['types'])){$filterz[] = 'types=' . $_GET['types'];}
if(isset($_GET['config'])){$filterz[] = 'config=' . $_GET['config'];}
if(isset($_GET['style'])){$filterz[] = 'style=' . $_GET['style'];}
if(isset($_GET['fasad'])){$filterz[] = 'fasad=' . $_GET['fasad'];}
и whereif(isset($filterz)) { $where = $modx->toJSON(array($filterz)); } else { $where = ''; }
if(isset($filterz)) {
$modx->log(1,print_r($filterz,1));
$where = $modx->toJSON(array($filterz));
}
в итоге получаю в лог такое[2022-10-12 06:31:26] (ERROR @ /home/host1834153/maltipuhome.ru/htdocs/www/core/cache/includes/elements/modsnippet/37.include.cache.php : 28) Array
(
[0] => types=1
[1] => config=1
[2] => style=1
[3] => fasad=1
)
ну и в результатах фильтрации 0
в вызове сниппета включите показывать логи:
&showLog=`1`
B там смотрите, что передается в mysql какой запрос.
добавил, а где лог смотреть? в логе ошибок тоже самое все
На странице, где выводите информацию.
нету ничего такого у меня
Ну так скачай, что за детский сад.
https://modstore.pro/packages/utilities/debugparser
https://modstore.pro/packages/utilities/debugparser
он стоит
пришел к такому решению:
[[!msProducts? &tpl=`tovartplCat` &limit=`64` &parents=`2` &tvFilters=`[[!where]]` &includeTVs=`types,config,style,fasad` ]]
<?php
$filterz = '';
if(isset($_GET['types'])) $filterz['types'] = $_GET['types'];
if(isset($_GET['config'])) $filterz['config'] = $_GET['config'];
if(isset($_GET['style'])) $filterz['style'] = $_GET['style'];
if(isset($_GET['fasad'])) $filterz['fasad'] = $_GET['fasad'];
if($filterz !=='') $filterz = substr($filterz,0,-1);
//if(!empty($filterz)) {$where = json_encode($filterz);} else {$where = '';}
return $filterz;
но чтото не завелось :(
подправил для поле tvFilters
<?php
$filterz = '';
if(isset($_GET['types'])) $filterz = $filterz.'types=='.$_GET['types'].',';
if(isset($_GET['config'])) $filterz = $filterz.'config=='.$_GET['config'].',';
if(isset($_GET['style'])) $filterz = $filterz.'style=='.$_GET['style'].',';
if(isset($_GET['fasad'])) $filterz = $filterz.'fasad=='.$_GET['fasad'].',';
if($filterz !=='') $filterz = substr($filterz,0,-1);
return $filterz;
словил такую ошибку[pdoTools] Error 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"`TVtypes`.`value` LIKE '1\"' AND ( `msProduct`.`parent` IN (2,24,5,6,7,8,9,10,' at line 1
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.