Как настроить фильтр в modx revo?

Для настройки фильтра в MODX Revolution вы можете использовать плагины или сниппеты, которые позволяют управлять и настраивать фильтрацию контента на вашем сайте. В данном ответе я расскажу о двух методах настройки фильтра - с использованием плагина getResources и сниппета Ditto.

Метод 1: Использование плагина getResources для настройки фильтрации контента в MODX Revolution

  1. Установите плагин getResources:
  • Перейдите в раздел "Элементы" в административной панели MODX.
  • Нажмите "Установить дополнения" в верхней панели навигации.
  • В поисковой строке введите "getResources" и найдите соответствующий плагин.
  • Установите плагин getResources.
  1. Создайте шаблон для фильтрационных результатов:
  • В разделе "Ресурсы" создайте новую страницу, которая будет отображать результаты фильтрации.
  • Укажите необходимые параметры, такие как заголовок страницы, шаблон и оптимальные настройки вывода контента.
  • Сохраните страницу и запомните ее ID.
  1. Создайте форму фильтра:
  • Вставьте следующий код на вашей странице, где вы хотите разместить форму фильтра:
    <form action="[[~PAGE_ID~]]" method="get">
      <input type="text" name="search" placeholder="Поиск" />
      <input type="submit" value="Найти" />
    </form>

Замените [[~PAGE_ID~]] на ID вашей страницы, созданной на шаге 2.

  1. Настройте плагин getResources:
  • В разделе "Элементы" откройте меню плагина getResources.
  • Укажите необходимые параметры, такие как идентификатор шаблона фильтрационных результатов, параметры сортировки и число записей на странице.
  • Запомните имя контейнера, который вы хотите использовать для вывода результатов фильтрации.
  1. Выведите результаты фильтрации:
  • Создайте новый режим вывода в вашем шаблоне фильтрационных результатов.
  • Вставьте следующий код в ваш шаблон, чтобы вывести результаты фильтрации:
    [[getResources?
      &parents=`[[*id]]`
      &resources=`[[+container]]`
      &includeContent=`1`
      &tpl=`tpl.result`
    ]]

Замените [[*id]] на ID текущей страницы и [[+container]] на имя контейнера, указанное на шаге 4.

  1. Создайте чанк tpl.result:
  • В разделе "Элементы" создайте новый чанк с именем "tpl.result".
  • Вставьте необходимый HTML-код и переменные, чтобы отобразить результаты фильтрации.
  • Сохраните чанк.

Теперь, когда форма и плагин getResources настроены, при отправке формы фильтрации на странице с формой вы будете перенаправлены на страницу с результатами фильтрации, где будут отображены отфильтрованные записи в соответствии с указанными параметрами.

Метод 2: Использование сниппета Ditto для настройки фильтрации контента в MODX Revolution

  1. Установите сниппет Ditto:
  • Скачайте сниппет Ditto с официального сайта MODX Revolution или через репозиторий в административной панели.
  • Установите сниппет Ditto.
  1. Создайте шаблон для фильтрационных результатов:
  • В разделе "Ресурсы" создайте новую страницу, которая будет отображать результаты фильтрации.
  • Укажите необходимые параметры, такие как заголовок страницы, шаблон и оптимальные настройки вывода контента.
  • Сохраните страницу и запомните ее ID.
  1. Создайте форму фильтра:
  • Вставьте следующий код на вашей странице, где вы хотите разместить форму фильтра:
    <form action="[[~PAGE_ID~]]" method="get">
      <input type="text" name="search" placeholder="Поиск" />
      <input type="submit" value="Найти" />
    </form>

Замените [[~PAGE_ID~]] на ID вашей страницы, созданной на шаге 2.

  1. Настройте сниппет Ditto:
  • В разделе "Элементы" откройте меню сниппета Ditto.
  • Укажите необходимые параметры, такие как идентификатор шаблона фильтрационных результатов, параметры сортировки и число записей на странице.
  • Запомните имя контейнера, который вы хотите использовать для вывода результатов фильтрации.
  1. Выведите результаты фильтрации:
  • Вставьте следующий код в ваш шаблон фильтрационных результатов:
    [[Ditto?
      &parents=`[[*id]]`
      &resources=`[[+container]]`
      &tpl=`tpl.result`
    ]]

Замените [[*id]] на ID текущей страницы и [[+container]] на имя контейнера, указанное на шаге 4.

  1. Создайте чанк tpl.result:
  • В разделе "Элементы" создайте новый чанк с именем "tpl.result".
  • Вставьте необходимый HTML-код и переменные, чтобы отобразить результаты фильтрации.
  • Сохраните чанк.

Теперь, когда форма и сниппет Ditto настроены, при отправке формы фильтрации на странице с формой вы будете перенаправлены на страницу с результатами фильтрации, где будут отображены отфильтрованные записи в соответствии с указанными параметрами.

Оба метода помогут вам настроить фильтр в MODX Revolution с помощью плагина getResources или сниппета Ditto. Вы можете выбрать подходящий для вас метод в зависимости от ваших предпочтений и требований к фильтрации контента на вашем сайте.