Сохранить
Сохраняем
  • M
    modxantony

    @Andchir
    Да, в TM2 в админке фильтр age включен. Все данные из TV подтянулись, все норм.

    написал в Поддержка Читать далее
  • M
    modxantony

    Ломаю голову над запуском Tagmanager2 на простом сайте с выводом обычных item-ов для последующей фильтрации. Делую все по инструкции. Запустил tmCatalog, все отображается:

    [[!tmCatalog?
    &cache=`1`
    &elementClass=`modSnippet`
    &element=`getProducts`
    &tpl=`filtr_tpl`
    &sortbyTV=`age`
    &sortdirTV=`ASC`
    &parents=`3`
    &limit=`0`
    &debug=`0`
    ]]
    

    Чанк вывода каждого itema имеет следующий вид:

    <div class="col-xl-4" style="padding-left: 5px; padding-right: 5px; float: left;">						
    <div class="post-02 post-02__style-02 js-post-effect">
    <div class="post-02__media">
    <a href="[[~[[+id]]]]">
    [[getImageList?
    &tvname=`slider`
    &docid=`[[+id]]`
    &limit=`1`
    &tpl=`@CODE:<img src="[[+slide]]" alt="[[+alt]]" />`
    ]]
    </a></div>
    <div class="post-02__body">
    <h2 class="post-02__title"><a href="[[~[[+id]]]]">[[!pdoField? &id=`[[+id]]` &field=`name`]]</a></h2>
    <div class="post-02__department">[[!pdoField? &id=`[[+id]]` &field=`seo_tag`]]</div>
    <div class="post-02__content">
    <div class="post-02__description">
    [[pdoField:ellipsis=`200`? &id=`[[+id]]` &field=`specification`]]
    <ul>
        <li><span class="primary-color">Age</span>[[!pdoField? &id=`[[+id]]` &field=`age`]]</li>
    	<li><span class="primary-color">Dress Size</span>[[!pdoField? &id=`[[+id]]` &field=`dress_size`]]</li>
    	<li><span class="primary-color">Height</span>[[!pdoField? &id=`[[+id]]` &field=`height`]] cm</li>
    	<li><span class="primary-color">Weight</span>[[!pdoField? &id=`[[+id]]` &field=`weight`]] kg</li>
    </ul>
    </div>
    <a class="post-02__link" href="[[~[[+id]]]]">View detail</a>
    </div>
    </div>
    </div>
    </div>
    

    filter.js имеет следующий вид. Пока решил фильтровать только числовое значение age:

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

    Все скрипты подключи вручную, все отображается внизу страницы, проверял.
    Сам tmFilters не отображается хоть убей. Вывожу:

    <div id="filters">
    [[tmFilters?
    &filterNumericTpl=`tm2_filterNumericTpl`
    &filterNumericOuterTpl=`tm2_filterOuterTpl`
    &jsScript=`0`
    &jsMap=`1`
    &filtersType=`filters`
    ]]
    <form action="[[~[[*id]]]]" method="get">
    <input type="hidden" name="page_id" value="[[*id]]" disabled="disabled" />
    [[+filters]]
    <button id="clear" class="btn btn-danger btn-sm" type="button" onclick="tmFilters.resetFilters(); return false;">Сбросить</button>
    </form>
    </div>
    

    При выводе на странице выводится только кнопка. Фильтров как и не существует. Я понимаю, если бы кривенько вывелись чанки с фильтром и он не фильтровал, здесь же сам фильтр никак не хочет выводиться в бэкенд. Кто с таким сталкивался? Куда копать?

    написал в Поддержка Читать далее