Последние темы


Слетает шаблон во время использования AJAX фильтра tagManager2 2.3

  • После использования фильтра фильтрация работает, но пропадает шаблон, вместо этого выводится массив данных

    0_1479754850179_21-Nov-16 8-57-44 PM.png

    В лог записывается ошибка

    [2016-11-21 19:49:07] (ERROR @ D:\xampp\htdocs\shkstart.loc\core\components\tag_manager2\model\tm_base.class.php : 49) PHP warning: explode() expects parameter 2 to be string, array given
    

    После перезагрузки страницы с указанными get параметрами уже всё отображается как нужно.

    Я предполагаю что проблема в использовании множественных значений фильтров, но не могу разобратся в чём именно.

    Простая фильтрация работает нормально, тоесть проблема только с AJAX фильтром.

    Код фильтра не менял

    <div class="uk-panel uk-panel-box uk-panel-box-secondary">
      <h3 class="uk-panel-title">Фильтры</h3>
       [[tmFilters?
        &filterOuterTpl=`tm2_filterOuterTpl`
        &filterTpl=`tm2_filterTpl`
        &filterNumericOuterTpl=`tm2_filterOuterTpl`
        &filterNumericTpl=`tm2_filterNumericTpl`
        &jsMap=`1`
        &toPlaceholder=`filters`
        ]]
    
    <div id="filters">
        <form action="[[~[[*id]]]]" method="get">
        <input type="hidden" name="page_id" value="[[*id]]" disabled="disabled" />
            
            [[+filters]]
            
            <button type="button" onclick="tmFilters.resetFilters(); return false;">Сбросить</button>
        </form>
    </div>
    </div>
    

    Настройки в filter.js

     config: {
            filters_cont: '#filters',//Селектор оберточного элемента блоков с фильтрами
            sortby: 'pagetitle',//Имя поля сортировки по умолчанию
            sortdir: 'asc',//Направление сортировки по умолчанию
            numeric: ['price'],//Имена доп. полей с числовыми значениями
            multitags: ['color' , 'height' , 'size', 'status'],//Имена доп. полей с множественными значениями
            guard_key: '#',//Разделитель для множественных значений
            products_cont: '#catalog',//Селектор контейнера с выводом товаров
            filter_slider: 'div.range-slider',//Селектор слайдеров (ползунок для числовых значений)
            filter_slider_cont: 'div.filter_slider',//Селектор контейнера со слайдером
            pages_cont1: '#pages',//Селектор контейнера с постраничной навигацией
            pages_cont2: '#pages2',//Селектор второго контейнера с постраничной навигацией. Если нет, оставить пустым.
            active_page_selector: '.current',//селектор номера текущей страницы внутри контейнера (pages_cont)
            filters_type: 'default',//Тип фильтрации. Возможные значения:
                // default (показ числа товаров по каждому фильтру и блокирование пустых вариантов),
                // only_block (только блокирование пустых париантов),
                // none (не показывать цифры и не блокировать)
            filter_delay: 700,//Задержка до отправления запроса на сервер (сбрасывается после каждой отметки фильтра)
            price_field: 'price',//Название поля или TV цены товара
            multi_currency: true,//Мультивалютность включить / выключить (true/false)
            base_url: '/',
            ajax_url: 'assets/components/tag_manager2/connector_fe.php',
            ajax_loader: 'assets/components/tag_manager2/img/ajax-loader2.gif'
        },
    

    Список фильров с множественными значениями добавил в набор параметров getPage и в настройках tagManger

  • Забыл сказать что используется getProducts 1.4-rc.

  • Смотреть настройки наборов параметров.

  • Я имел ввиду что нужно проверить какой набор параметров указан в настройках системы и какие вообще есть (по названию).

  • Вообщем разобрался в чём была проблема.

    Она может возникать, если используешь статические шаблоны. В часности у меня в админке путь к файлу шаблона указан был корректно, но последние изменения в текстовую область не подтянулись, тоесть текстовая область была пустой. Об этом нужно написать в документации или поправить.

    Очень полезно было бы добавить в документацию раздел: Решение популярных проблем, тогда бы и вопросов было поменьше на форуме.

  • Очень полезно было бы добавить в документацию раздел: Решение популярных проблем, тогда бы и вопросов было поменьше на форуме.

    Такой раздел уже есть http://wiki.modx-shopkeeper.ru/doku.php?id=faq и вы можете самостоятельно его дополнять.

  • @Andchir А я по старинке смотрю readme.txt, теперь буду заглядывать и сюда. Спасибо

  • @kamuz У меня такая же беда. Не могу никак исправить. Можете пояснить (рассказать), как избавились от этой проблемы?

  • @Myrmal Да вроде как подробно объяснил что было у меня и как я это исправил.

    Проблема может возникать, если используешь статические шаблоны. В часности у меня в админке путь к файлу шаблона указан был корректно, но последние изменения в текстовую область не подтянулись, тоесть текстовая область была пустой.

    Что из вышесказанного вам не понятно?

    Попробуйте вообще не использовать статические шаблоны. Возможно у вас другой случай.

 

Последние комментарии

  • @Andchir Чета не додумался. Спасибо огромное, завелось.

    Читать далее
  • Потому что в этой функции нет объекта $modx. Можно попробовать добавить такую строчку вверху функции (внутри):

    global $modx;

    Читать далее
  • Добрый день.
    Задача: Есть таблица где записываются id данных из других созданных таблиц.
    Нужно в функции filter_export и filter_import объединить данные из разных таблиц.

    Как я пробывал решить свою задачку:

    function filter_export($value_arr,$doc_id=0) { //var_dump($output_arr); //exit; $output_arr = $value_arr; if(isset($output_arr['execution'])) { $ids = $output_arr['execution']; $result = $modx->query("SELECT * FROM LKp3KJ_my_execution WHERE id = $ids"); $row = $result->fetch(PDO::FETCH_ASSOC); $output_arr['execution'] = $row[title]; } /* if(isset($output_arr['price'])) $output_arr[1] = floatval($output_arr[1]) - 200; */ return $output_arr; }

    В ответ получаю 500 ошибку на странице импорт/экспорт.

    Читать далее
  • Спасибо за содействие! Приношу извинения за неудобства.

    Читать далее