[РЕШЕНО] Скролл вверх при пагинации в mFilter2

Всем добрый день! Есть вывод каталога, при переходе на другую страницу следующая страница скролиться на самый верх, а как указать селектор (id) к которому надо скролить не пойму. Уже все испробовал. Обычно скролиться к id=«pdopage», но здесь не работает. Прошу помощи!!!

Полный вывод:
{set $filters = '!SelectFilters' | snippet: [
    'default' => [
        'ms|price:number', 'ms|vendor:vendors'
    ]
]}


{'!mFilter2' | snippet : [
    'class' => 'msProduct',
    'tpl' => '@FILE chunks/minishop2/tplproduct-emiko.chunk.tpl',
    'limit' => '6',
    'class'=>'msProduct',
    'element' => 'msProducts',
    'toSeparatePlaceholders' => 'emiko.',
    'parents' => $_modx->resource.id,
    'sortby' => '{ "Data.price":"ASC"}',
    'filters' => $filters ~ ',parent:categories',
    'showEmptyFilters' => true,
    'tplFilter.outer.ms|price' => 'tpl.mFilter2.filter.slider',
    'tplFilter.row.ms|price' => 'tpl.mFilter2.filter.numberEmiko',
    'tplFilter.outer.ms|size' => 'tpl.mFilter2.filter.outer',
    'tplFilter.row.ms|size' => 'tpl.mFilter2.filter.checkbox',
    'tplFilter.outer.msoption|tags' => 'tpl.mFilter2.filter.outer-emiko',
    'tplFilter.row.msoption|tags' => 'tpl.mFilter2.filter.checkbox',
    'tplFilter.outer.ms|vendor' => 'tpl.mFilter2.filter.outer-emiko',
    'tplFilter.row.ms|vendor' => 'tpl.mFilter2.filter.checkbox',
    'tplFilter.outer.msoption|tipe' => 'tpl.mFilter2.filter.outer-emiko',
    'tplFilter.row.msoption|tipe' => 'tpl.mFilter2.filter.checkbox',
    'ajaxMode' => 'default',
    'tplPageWrapper' => '@INLINE <ul class="pagination uk-pagination">{$prev}{$pages}{$next}</ul>',
    'tplPageActive' => '@INLINE <li class="uk-active"><span>{$pageNo}</span></li>',
    'scrollTo' => '#pdopage',
]}

<article class="container-emiko uk-grid-collapse msearch2"  id="mse2_mfilter" uk-grid>
    <!-- Левая колонка с фильтрами -->
    <div class="filters uk-width-auto@l uk-width-1-1">
        <div id="filter" class="uk-animation-slide-top-medium uk-position-relative uk-position-z-index">
            <div class="sort-block ">
                <div>
                    <form class="filters-form" method="post" id="mse2_filters">
                        <div class="uk-flex uk-flex-center uk-flex-column uk-flex-middle">
                        <ul class="uk-width-expand" uk-accordion="multiple: true; active: 0;">
                            <li>{$_modx->getPlaceholder('emiko.resource|parent')}</li>
                            {'FiltersToPlaceholders' | snippet : [
                                'input' => "{$filters}"
                            ]}
                        </ul>
                            <div class="uk-width-1-1 uk-flex uk-flex-center uk-margin-small-bottom uk-flex-middle">
                                {if $filters}
                                <button type="reset"
                                    class="uk-button uk-button-default button min btn btn-default hidden">Сбросить
                                    фильтр</button>
                                <div class="uk-clearfix"></div>
                                {/if}
                            </div>
                        </div>
                    </form>   
                </div>
            </div>
        </div>
    </div>
    <div class="uk-width-expand">
        <!-- Полоса фильтра по цене, новизне и т.д. -->
        <div class="header-filters uk-flex uk-flex-middle uk-flex-between uk-margin-small-bottom" uk-grid>
            <div id="mse2_selected_wrapper" class="uk-width-expand">
                <div id="mse2_selected">
                    {'mse2_selected' | lexicon}:<span></span>
                </div>
            </div>
            <div class="uk-width-auto">
                <div class="form-group" id="mse2_sort">
                    <div>
                        <div uk-form-custom="target: > * > span:first-child">
                            <select class="form-control uk-select" aria-label="Custom controls">
                                <option class="sort price-asc" data-sort="ms|price" value="asc">Цена (по возрастанию)</option>
                                <option class="sort" data-sort="ms|price" value="desc">Цена (по убыванию)</option> 
                                <option class="sort" data-sort="resource|pagetitle" value="asc">Название (А - Я)</option>
                                <option class="sort" data-sort="resource|pagetitle" value="desc">Название (Я - А)</option>
                            </select>
                            <button class="uk-button uk-button-default" type="button" tabindex="-1">
                                <span></span>
                                <span uk-icon="icon: chevron-down"></span>
                            </button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!-- Товары -->
        <div id="pdopage" class="products">
            <div class="rows product-grid block-card" id="mse2_results">
                {var $results = $_modx->getPlaceholder('emiko.results')}
                {$results == 'Подходящих результатов не найдено.' ? '<div class="uk-width-1-1">Подходящих результатов не найдено.</div>' : $results}
            </div>
            <div class="uk-panel" id="mse2_pagination">{'page.nav' | placeholder}</div>
        </div>
    </div>
</article>
Нашел решение здесь mFilter2: mse2_load. Всем спасибо!
Алексей
27 мая 2025, 13:06
modx.pro
137
0

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0