weranda
@weranda

Как в modx сделать фильтрацию по TV?

Приветствую
Помогите советом да так, чтобы было понятно...затупил, уже часа три-четыре вожусь.

Есть раздел портфолио и в нем примеры работ, у которых есть два дополнительных TV-поля (марка (текстовое поле) и виды работ (авто-метка) ):

– Портфолио
–– Работа 1 (tvBrand='Audi', tvTypes='сварка')
-- Работа 2 (tvBrand='BMW', tvTypes='покраска, сварка')
-- Работа 3 (tvBrand='Lexus', tvTypes='замена стекла, покраска, шина')

Есть страница – site.ru/portfolo/ и на ней представленны примеры работ. Надо чтобы при нажатии на, к примеру, BMW отображались работы по BMW, а при нажатии на вид работы (покраска) отображались бы работы у которых в поле авто-метки присутствует подобная запись и чтобы не было перехода на другой URL, а страница меняла бы вид на такой:

– site.ru/portfolo/ (начальная страница)
– site.ru/portfolo/?brand=bmw (вид страницы при клике на бренд)
– site.ru/portfolo/?type=pokraska
  • Вопрос задан
  • 228 просмотров
Пригласить эксперта
Ответы на вопрос 1
Realetive
@Realetive
MODX Ambassador России, самозванный БЭМ-евангелист
На примере pdoResources (псевдокод):
[[!pdoResources?
  …
  &where=`{
    [[!GET.brand:notempty=`tvBrand = [[!GET.brand]]`]]
    [[!GET. type:notempty=`tvTypes = [[!GET. type]]`]]
  }`
  …
]]

Если хотите сделать, чтобы страница не перезагружалась, используйте AJAX, MODX тут ни при чём (ну, кроме возвращаемых данных). А «чтобы не было перехода на другой URL, а страница меняла бы вид», используйте ` history.pushState()`, это тоже задача JS.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы