Как организовать фильтрацию вывода материалов средствами pdoResources «на лету» без перезагрузки страницы?

Здравствуйте.

Есть страница на MODX, куда выводятся карточки материалов средствами pdoResources из разных разделов. Вот код вывода (он стандартный):
[[pdoResources?
    &parents=`195, 239, 271, 280, 297`
    &tpl=`brick_item`
    &includeTVs=`mini_image, priceSHT, sort, format, marka, zavod`
    &tvFilters=`format==Одинарный` 
    &limit = `0`
    &prepareTVs=`1`
    &processTVs=`mini_image`
]]

Речь идёт о кирпичах и по умолчанию мы выводим все кирпичи с параметром format==Одинарный.

Так же сбоку на странице висит фильтр с другими параметрами: цвет, размер, завод и т.п. Фильтр реализован возможно не по фен-шую, но как есть так есть. Вот пример кода одного участка фильтра:
<div class="filter_block size">
        <ul>
            <li class="chkd">1х</li>
            <li>1,5х</li>
            <li>Евро 0,7</li>
            <li>Евро 0,9</li>
        </ul>
    </div>

Т.е. фильтр поделён на блоки filter_block с доп.классами size, color и т.д. А li class="chkd" - отмеченный параметр.

Вот собственно и задача. Надо реализовать фильтрацию по нажатию на параметры без перезагрузки страницы.
Сортировка вывода уже реализована по совсем другим критериям, и это тут не нужно. Пагинация так же написана уже давно и тут не нужна. Нужен только вывод по выбранным параметрам.

Я догадываюсь, что надо смотреть в сторону ajax, но к сожалению, я с ним не работал никогда и вообще не представляю откуда ноги растут. Много и долго гуглил, находил несколько похожих задач и решений, но так и не смог применить их под эту задачу, в виду того, что всё что касается аякса для меня пока что совсем тёмный лес.

Как мне видится это решение:
1. Надо написать скрипт на js который определял бы при клике на какой (какие) параметр(ы) нажали и какое значение выбрали (это я могу )))).
2. Надо передать эти значения куда-то, чтобы потом эти значения подставились в вывод pdoResources на странице отображения.
Вот куда и как их передать - вопрос для меня открытый. И как сделать чтобы всё это работало ещё и без перезагрузки страницы.

Был бы весьма признателен за помощь.
  • Вопрос задан
  • 208 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы