mFilter2

Привет всем. Смотрю дополнение mSearch2, а именно сниппет mFilter2 на тестовом сайте
s484.h1.simpledream.ru/
Логин s484
Пароль для админки AlO24TcXPaYP

Почему то когда кликаю на сортировку по дате публикации, то ничего не отсортировывается. Сниппет зависает и все. В консоли браузера показывает что не может достучаться до файла s484.h1.simpledream.ru/assets/components/msearch2/action.php


Вызываю без параметров, просто: [[!mFilter2?]]. Может кто сталкивался с такой проблемой? Это проблема сниппета, или я что не так делаю?)
Николай Загумённов
01 ноября 2014, 17:10
modx.pro
870
0
Поблагодарить автора Отправить деньги

Комментарии: 6

Василий Наумкин
01 ноября 2014, 21:00
0
Очепятка там, поправил.

Просто включи дружественные url, а я уже новую версию выложил.
    R2m0x94 (Vasily)
    01 апреля 2020, 18:38
    0
    Сниппет: mFilter2 ругается на строки 407, 408
    В чем дело подскажите пожалуйста, как решить?
    • PHP 7.3
    • mSearch 1.13.5-pl
    • modx 2.7.3-pl
    [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
      Андрей Степаненко
      01 апреля 2020, 19:23
      0
      Туда скорей всего пишутся текстовые значения
        Владимир
        17 апреля 2022, 07:35
        0
        Добрый день, подскажите, плиз, у вас получилось решить поблему?
          R2m0x94 (Vasily)
          17 апреля 2022, 10:26
          0
          В сниппете 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 можно не указывать. Надеюсь помог.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6