Для создания фильтра через checkbox в MODX Revolution (Revo) следуйте следующим шагам:
1. Создание TV (Template Variable):
- Зайдите в раздел "Элементы управления" в административной панели MODX.
- Нажмите на "Пользовательские шаблоны переменных".
- Нажмите на кнопку "Создать модуль переменных" и заполните необходимые поля, такие как "Название" и "Имя поля".
- В поле "Параметры" укажите input Option A==Option A||input Option B==Option B
, где "Option A" и "Option B" - это значения фильтра checkbox. Вы можете добавить больше значений, разделяя их двумя вертикальными палками ||
. Нажмите "Сохранить".
2. Добавление TV к шаблону:
- Откройте редактор шаблонов в разделе "Разработка" в административной панели MODX.
- Выберите шаблон, к которому хотите добавить фильтр через checkbox, и нажмите на кнопку "Редактировать".
- В поле "TVs" выберите созданный вами TV с фильтром checkbox. Нажмите на "Сохранить".
3. Создание сниппета для вывода фильтра:
- В административной панели MODX перейдите в раздел "Элементы управления" и выберите "Сниппеты".
- Нажмите на кнопку "Создать" и заполните необходимые поля, такие как "Название" и "Код сниппета".
- В коде сниппета вы можете использовать функции MODX API для получения значения TV, например:
<?php $filterValue = $modx->resource->getTVValue('tvName'); return $filterValue; ?>
Вместо 'tvName'
укажите имя вашего TV.
- Нажмите "Сохранить" для создания сниппета.
4. Создание чанка для отображения результатов фильтрации:
- В разделе "Элементы управления" перейдите в "Чанки".
- Нажмите на кнопку "Создать" и заполните необходимые поля, такие как "Название" и "Код чанка".
- В коде чанка вы можете использовать полученное значение $filterValue
для фильтрации контента, например:
<ul> [[!pdoResources? &parents=`0` &tpl=`yourTemplate` &depth=`-1` &where=`{"tvName:=": "[[+filterValue]]"}` ]] </ul>
Здесь yourTemplate
- это имя вашего шаблона для отображения результатов фильтрации.
- Нажмите "Сохранить" для создания чанка.
5. Вставка сниппета и чанка на страницу:
- Откройте редактор ресурсов в административной панели MODX.
- Найдите страницу, на которой вы хотите вставить фильтр через checkbox, и нажмите на кнопку "Редактировать".
- Вставьте сниппет, созданный в пункте 3, на страницу с помощью тега [[!snippetName]]
.
- Вставьте чанк, созданный в пункте 4, на страницу с помощью тега [[+chunkName]]
.
- Нажмите "Сохранить" для применения изменений.
Теперь вы должны иметь фильтр через checkbox на вашей странице MODX Revo. При выборе значения checkbox контент будет фильтроваться и показываться только соответствующий результат.