Как работать с ajax запросами на текущей странице
Всем привет.
Есть некая страница, являющаяся ресурсом, которая отображает содержимое с помощью pdoTools, а конкретней, PdoPage
http://udobdom.ru/doma/
На данной странице есть два фильтра, которые работаю в режиме или — или
Когда мы меняем первый фильтр(по сути это просто input поле), срабатывает такой код:
Т.е. у меня создан ресурс ajax-people, куда вставлен сниппет pdoResource, который фильтрует.
Аналогично работает и второй фильтр, только по нажатию на кнопку. И для него у меня создан отдельный ресурс.
Всё это даже работает, но возникла необходимость в разбиении выдачи на страницы, т.е. pdoResource надо заменить на pdoPage. Но!, есть огромная загвоздка, так как фильтрация отрабатывается сниппетами на абсолютно других страницах, то соответственно и ссылки в пагинации генерируются относительно той страницы(которая обрабатывает ajax запрос), а мне нужно, чтобы ссылки генерировались относительно страницы, на котором мы находимся, а именно: http://udobdom.ru/doma/
Но я не понимаю, как обрабатывать все запросы прямо на текущей странице?
Сейчас код данной страницы выглядит так:
Есть некая страница, являющаяся ресурсом, которая отображает содержимое с помощью pdoTools, а конкретней, PdoPage
http://udobdom.ru/doma/
На данной странице есть два фильтра, которые работаю в режиме или — или
Когда мы меняем первый фильтр(по сути это просто input поле), срабатывает такой код:
//обработка при изменении количества человек
$people_range.change(function(event) {
$people = $people_range.val();
switch($people) {
case "для семьи до 3 человек":
$people=1;
break;
case "для семьи из 3-5 человек":
$people=2;
break;
case "для большой дружной семьи":
$people=3;
break;
default:
$people=0; //error
}
$.post("http://udobdom.ru/ajax-people.html",{
people_count: $people,
},
function(data){
console.log(data.length);
console.log($people);
$output.empty();
if ( data.length !== 2 ){
$output.append(data);
}else{
$output.append("<p>Нет домов с такими параметрами</p>");
}
}
);
});
Т.е. у меня создан ресурс ajax-people, куда вставлен сниппет pdoResource, который фильтрует.
Аналогично работает и второй фильтр, только по нажатию на кнопку. И для него у меня создан отдельный ресурс.
Всё это даже работает, но возникла необходимость в разбиении выдачи на страницы, т.е. pdoResource надо заменить на pdoPage. Но!, есть огромная загвоздка, так как фильтрация отрабатывается сниппетами на абсолютно других страницах, то соответственно и ссылки в пагинации генерируются относительно той страницы(которая обрабатывает ajax запрос), а мне нужно, чтобы ссылки генерировались относительно страницы, на котором мы находимся, а именно: http://udobdom.ru/doma/
Но я не понимаю, как обрабатывать все запросы прямо на текущей странице?
Сейчас код данной страницы выглядит так:
<div class="projects">
<form>
<p>Поиск проектов по численности семьи или по общей площади</p>
<div class="range-slider-wrapper">
<input type="hidden" id="people-range" name="people-range" class="irs-hidden-input" />
<span class="range-title">Численность семьи</span>
</div>
<div class="range-slider-wrapper">
<input type="hidden" id="square-range" name="square-range" class="irs-hidden-input" />
<span class="range-title">Общая площадь</span>
</div>
<a href="#" class="filter-houses">Показать</a>
</form>
<div class="houses">
[[!pdoPage?
&parents=`[[*id]]`
&depth=`0`
&tpl=`tpl_house_page`
&tplPageWrapper=`@INLINE <div class="pagination"><ul>[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul></div>`
&limit=`12`
&includeTVs=`people, main-pic, 1st-floor-square, 2nd-floor-square, Balkon-square, Common_square, Terassa-square`
&showLog=`0`
]]
[[!+page.nav]]
</div>
</div>
Комментарии: 5
Я думаю тут надо использовать mFilter2
А можно подробней? Не очень понимаю, как мне это поможет.
Я ее открыл, прежде чем задать вопрос. Если не сложно, в паре слов, вместо чего использовать данный фильтр, и в каком контексте? Это поможет обрабатывать все аяксы на моей странице, или это поможет фильтровать выдачу, или это поможет сформировать корректные url?
Я понимаю, что вам, как человеку, вероятно уже работавшему с данным компонентом, все кажется понятым и прозрачным, но лично мне, первый раз его увидевшему, совсем не ясно, с чего даже начинать.
Я понимаю, что вам, как человеку, вероятно уже работавшему с данным компонентом, все кажется понятым и прозрачным, но лично мне, первый раз его увидевшему, совсем не ясно, с чего даже начинать.
Напиши на skype Electricatg. Покажу, расскажу. Так проще будет.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.