getPage + getResources - фильтрация вывода

Есть каталог недвижимости. Каталог фильтруется по нескольким критериям, вывод с помощью getPage + getResources. Параметры передаются в tvFilters из формы фильтра через POST. Соответственно после применения фильтра, сниппет возвращает плейсхолдер, что-то типа
propertyCost>=1000000,propertyCost<=2000000,propertyCant==Женева,propertySq>=100,propertySq<=200,propertyRooms==2
, который подставляется в tvFilters. Вывод работает корректно только для первой страницы, при переходе на другую страницу естественно получаем пустые значения POST и вывод не фильтруется. Подскажите, пожалуйста, как лучше в данном случае организовать фильтрацию вывода, чтобы корректно работала постраничная разбивка?
Богдан
03 марта 2013, 13:01
modx.pro
1 941
0

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

Мордынский Николай
03 марта 2013, 21:12
0
Результат поста запихивать в $_SESSION[«filter»] к примеру, и пользоватся им if (isset($_SESSION[«filter»])) в вызов getPage пихать ее. Не забуудьте в конце сессию подчистить, а то будит таскать все время 1 ую
    Богдан
    03 марта 2013, 23:10
    0
    Видимо придется в сессию сохранять… Спасибо, Николай!
    Мордынский Николай
    03 марта 2013, 21:15
    0
    а еще есть вот такая вот штука modx.com/extras/package/getproducts подозреваю что она какраз вам вместо гет ресурса подойдет
      Мордынский Николай
      03 марта 2013, 21:19
      0
      хотя 1 хрен для гет пейджа, надо сессию таскать.
        Василий Наумкин
        04 марта 2013, 07:06
        0
        Если параметры фильтра передавать через $_GET, то getPage их бережно сохранит.

        Это со всех сторон правильнее, и для поисковых машин и для передачи ссылок на результаты поиска людям.
          Богдан
          04 марта 2013, 15:12
          0
          Уже сделал все через сессию. Думал, что GET запросы не будут передаваться при постраничной навигации, поэтому даже не попробовал этот вариант. Спасибо, за совет.
            Владимир
            08 сентября 2014, 08:03
            0
            Богдан подскажите, как передать значения формы:
            <form action="[[~[[*id]]]]" method="get">
            <select>
            <option>2000</option>
            <option>2500</option>
            </select>
            <input type="submit" value="Подобрать" />
            </form>
            в tvFilters вывода getResources:
            [[!getResources? &showHidden=`1` &tpl=`вывод-объекты` &includeContent=`1` &includeTVs=`1` &processTVs=`1` &parents=`2` &tvFilters=`???`]]
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          7