как в pdoPage(ajax-версия) подключить свои фильтр?
Подскажите, как можно использовать кастомые фильтры?
У меня есть такой код на странице:
У меня есть такой код на странице:
[[!pdoPage?
&element = `pdoUsers`
&groups = `4`
&tpl = `userCardPro`
&select = `{"modUserSetting":"key, value as photop_add_date"}`
&innerJoin = `{
"modUserSetting":{"class":"modUserSetting","on":"modUser.id=modUserSetting.user"}
}`
&sortby = `photop_add_date`
&limit = `9`
&sortdir = `asc`
&ajaxMode=`default`
]]
а выше этого ставлю фильтры:<div class="filters" style="width:650px;margin:0 auto;">
<input type="text" class="city form-control" value="" style="width:220px;display:inline-block;" placeholder="Город" /> <label><input type="checkbox" class="service_foto" checked /> организует фотосессии</label> <label><input type="checkbox" class="service_design" checked /> верстает макеты</label>
<button class="btn btn-success find_users" style="display:inline-block;">Найти</button>
</div>
как передать указанный город и чекбоксы? Комментарии: 1
щас сделал так: в сниппете принимаю все параметры и передаю их в pdoPage. вот так:
$city = isset($_POST['city']) ? $_POST['city'] : '';
$service = isset($_POST['service']) ? $_POST['service'] : 'all';
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '1';
$options = [
'element' => 'pdoUsers',
'page' => $page,
'groups' => '4',
'tpl' => 'userCardPro',
'select' => '{"modUserSetting":"key, value as photop_add_date"}',
'innerJoin' => '{
"modUserSetting":{"class":"modUserSetting","on":"modUser.id=modUserSetting.user"}
}',
'sortby' => 'photop_add_date',
'limit' => '9',
'sortdir' => 'asc'
];
$where=['"modUserSetting.key":"photop_add_date"'];
if($city != '')
$where[] = '"modUserProfile.city:LIKE":"%'.$city.'%"';
if($service != 'all')
$where[] = '"modUserProfile.extended:LIKE":"%'.$service.'\":\"yes%"';
$options['where'] = '{'.implode(',',$where).'}';
$output = $modx->runSnippet('pdoPage',$options);
echo $output.$modx->getPlaceholder('page.nav');
но в этом случае не меняется заголовок страницы и урл
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.