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


TagManager2 не работает слайдер для числовых TV-полей

  • Добрый день, уважаемые пользователи!
    Столкнулся с проблемой при указании числовых TV в системные настройки TagManager2. Если их не указываю, то фильтр работает. При их указании фильтр перестает работать и не появляется slider(ползунок) для чисел. Использовал и getPage и pdoPage.
    0_1545852865365_1.jpg
    0_1545852963796_2.jpg

     <div id="filters">
            [[tmFilters@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>
    

    0_1545853088826_3.jpg

    filters.js

    config: {
            filters_cont: '#filters',//Селектор оберточного элемента блоков с фильтрами
            sortby: 'pagetitle',//Имя поля сортировки по умолчанию
            sortdir: 'asc',//Направление сортировки по умолчанию
            
            numeric: [],//Имена доп. полей с числовыми значениями
            multitags: ['tags'],//Имена доп. полей с множественными значениями
            guard_key: '#',//Разделитель для множественных значений
            products_cont: '#products',//Селектор контейнера с выводом товаров
            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'
        },
    

    filters_simple.js

     config: {
            filters_cont: '#filters',//Селектор оберточного элемента блоков с фильтрами
            slider_steps: [10, 0.1],//Число единиц шага слайдера
            sortby: 'pagetitle',//Имя поля сортировки по умолчанию
            sortdir: 'asc',//Направление сортировки по умолчанию
            numeric: ['price', 'weight'],//Имена доп. полей с числовыми значениями
            multitags: ['tag'],//Имена доп. полей с множественными значениями
            limit: 10, //Число товаров на странице по умолчанию
    	price_field: 'price',//Название поля или TV цены товара
    	multi_currency: true,//Мультивалютность включить / выключить (true/false)
            filter_mode: 'get' //hash | get (пока доступно только get)
        },
    
  • Может не подключили нужные скрипты. Смотрите в консоль браузера, есть ли там ошибки.

  • Эта запись удалена!
  • Подключал и отключал все скрипты как представлено на дэмо сайте.
    Ошибка:
    TypeError: this_slider.slider is not a function[Подробнее] filters.js:113:17
    slidersInit/< assets/components/tag_manager2/js/web/filters.js:113:17
    each assets/components/shopkeeper3/web/js/jquery-3.1.1.min.js:2:2813
    each assets/components/shopkeeper3/web/js/jquery-3.1.1.min.js:2:1001
    slidersInit assets/components/tag_manager2/js/web/filters.js:93:79
    init assets/components/tag_manager2/js/web/filters.js:62:9

  • Ссылку можете дать? Или покажите как подключаете скрипты.

  • У вас много раз подключены одни и те же скрипты и библиотеки. jQuery и jQuery UI должны быть подключены только один раз, иначе ошибки.

    0_1545931186177_screenshot_019.png

  • Отключил, ситуация та же.

  • По одному скрипту надо было оставить. Убрать только дублирующие.

  • Отключил дубликаты, ситуация та же.

  • jQuery должен быть выше остальных скриптов, потому что он используется в этих скриптах. Как отключить jQuery у Shopkeeper - читайте в документации. Затем нужно подключить его ручками вставив код в шаблон.

  • Все сделал, ошибок нет и та же ситуация

  • После отключения фильтра, скролинг цены появился, но не работает и выдает ошибку:
    Error: History.js Adapter has already been loaded... jquery.history.js:1:3073
    <анонимная>
    /assets/components/tag_manager2/js/web/jquery.history.js:1:3073
    <анонимная>
    /assets/components/tag_manager2/js/web/jquery.history.js:1:2966

  • Слайдер работает только в одну из выбранных сторон и цена не отображается в максимальном диапазоне. Ошибка сохраняется:
    Error: History.js Adapter has already been loaded... jquery.history.js:1:3073
    <анонимная>
    /assets/components/tag_manager2/js/web/jquery.history.js:1:3073
    <анонимная>
    /assets/components/tag_manager2/js/web/jquery.history.js:1:2966

  • Опять дубликаты вижу. Ошибка History.js Adapter has already been loaded говорит именно об этом. Может пригодиться: https://translate.google.com/

  • Спасибо огромное, разобрался. В административной панели сайта -> TagManager2 выключил числовые фильтры, а потом включил. С ошибкой разобрался, в параметрах tmFilters -> filters установил jsScript = 2 и все. Еще раз спасибо.

 

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