mFilter2
Привет всем. Смотрю дополнение mSearch2, а именно сниппет mFilter2 на тестовом сайте
s484.h1.simpledream.ru/
Логин s484
Пароль для админки AlO24TcXPaYP
Почему то когда кликаю на сортировку по дате публикации, то ничего не отсортировывается. Сниппет зависает и все. В консоли браузера показывает что не может достучаться до файла s484.h1.simpledream.ru/assets/components/msearch2/action.php
Вызываю без параметров, просто: [[!mFilter2?]]. Может кто сталкивался с такой проблемой? Это проблема сниппета, или я что не так делаю?)
s484.h1.simpledream.ru/
Логин s484
Пароль для админки AlO24TcXPaYP
Почему то когда кликаю на сортировку по дате публикации, то ничего не отсортировывается. Сниппет зависает и все. В консоли браузера показывает что не может достучаться до файла s484.h1.simpledream.ru/assets/components/msearch2/action.php
Вызываю без параметров, просто: [[!mFilter2?]]. Может кто сталкивался с такой проблемой? Это проблема сниппета, или я что не так делаю?)
Поблагодарить автора
Отправить деньги
Комментарии: 6
- PHP 7.3
- mSearch 1.13.5-pl
- modx 2.7.3-pl
Сниппет: mFilter2 ругается на строки 407, 408
В чем дело подскажите пожалуйста, как решить?
В чем дело подскажите пожалуйста, как решить?
[2020-04-01 18:28:31] (ERROR @ /.../public_html/core/cache/includes/elements/modsnippet/146.include.cache.php : 407) PHP warning: min(): Array must contain at least one element
[2020-04-01 18:28:31] (ERROR @ /.../public_html/core/cache/includes/elements/modsnippet/146.include.cache.php : 408) PHP warning: max(): Array must contain at least one element
Туда скорей всего пишутся текстовые значения
Добрый день, подскажите, плиз, у вас получилось решить поблему?
В сниппете mFilter2 раскомментируйте или добавьте строку на ~408, чтобы посмотреть в журнале ошибок — на какой странице проблема.
<?php
if (in_array($v['type'], array('number', 'decimal')) && isset($suggestions[$filter_key])) {
$tmp = $suggestions[$filter_key];
array_walk($tmp, function($v, $k) use (&$tmp) {
if (empty($v)) {
unset($tmp[$k]);
}
});
$tmp = array_keys($tmp);
if ($v['type'] == 'number') {
$current_value = ($idx == 0)
? floor(min($tmp))
: ceil(max($tmp));
//$modx->log(modX::LOG_LEVEL_ERROR, 'PHP warning: min & max: [mSearch2] array("number", "decimal"): on "'.urldecode($_SERVER['REQUEST_URI']).'"');
} else {
$current_value = ($idx == 0)
? min($tmp)
: max($tmp);
}
}
Далее, проверьте в самом вызове сниппета параметр &suggestions — какой фильтр используется, потом перейдите в чанк с input type=[number] и добавьте к input атрибуты min=«0» и max=«1000», max можно не указывать. Надеюсь помог.
Спасибо большое!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.