Чтобы в ID-wrapper отдавалась не вся страница, а только сами данные, лишнее надо отсечь. Примерно так:
<!-- BEGIN: MAIN -->
<!-- IF !{PHP|ajax_true()} -->
<main id="users" class="mb-4">
<div class="container">
<div class="row mt-5">
<div class="col">
<div class="title mb-3 px-2 px-sm-0">
<h1 class="lh-1 mb-1">{PHP.L.Users}</h1>
<ul class="breadcrumb mb-0">
<li class="breadcrumb-item"><a href="{PHP.cfg.mainurl}" title="{PHP.L.Home}">{PHP.L.Home}</a></li>
<li class="breadcrumb-item">{PHP.L.Users}</li>
</ul>
</div>
<!-- ENDIF -->
<!-- ЗДЕСЬ ФИЛЬТР И ПАДЖИНАТОР -->
<!-- IF !{PHP|ajax_true()} -->
</div>
</div>
</div>
</main>
<!-- ENDIF -->
Функция простая:
if (!function_exists('ajax_true')) {
function ajax_true() {
if (COT_AJAX) {
$res = true;
} else {
$res = false;
}
return $res;
}
}
Еще раз: в ID-wrapper включай не только паджинатор, но и вывод.