Формирование ссылки в msfilter2

Добрый день.
Может быть кто-то сможет подсказать в вопросе с формированием ссылок, я несколько запутался:


Есть структура меню:
— — Поиск специалиста
— — — — Федеральный округ
— — — — — — Область (дальше уже каталог с специалистами области)

Есть две страницы с фильтром:

1. Страница «Поиск специалиста» — здесь проблем нет, фильтр отрабатывает, все данные выводит.

2. Страница «Федеральный округ». Из-за особенности формирования результатов для фильтров: в разделе «Область» у меня не «Коллекция» или «Ресурсы», а «Подборка», т.е фактически, все специалисты лежат в отдельной «Коллекции» за пределами дерева меню, по-этому фильтр у меня имеет фиксированное значение «родителя». Следовательно, на странице «Федеральный округ» у меня все равно есть фильтр по округам. И вот я хочу сделать так, чтобы на каждой страничке ФО этот фильтр был уже отмечен.

Я попытался пойти путем «Заморозки адреса» для ресурса «Федеральный округ», и добавлением в хвост адреса парметр с округом:
.../abiturientam/najti-predstavitelya/krym/?tv|mentor_fo=Крым, однако, при переходе по ссылке выдается 404 страница. Самое удивительное, что, если вручную выбирать фильтр по Крыму (например), то ссылка имеет точь в точь такой же вид, который выдает 404 страницу.
И еще, в другом месте я похожим образом формирую ссылку на программы специалистов, и там, добавляется на уровне чанка параметр. И вот в этом случае он работает.

Как так получается?
Валерий
10 декабря 2022, 12:04
modx.pro
569
0

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

Артур Шевченко
11 декабря 2022, 00:35
0
Скрин дерева ресурсов, код вызова mFilter2 и описание того, что должно получится, — вот такая информация помогла бы получить ответ. А пока мне непонятно, что ты пытаешься сделать.
    Валерий
    11 декабря 2022, 10:15
    0
    Пока готовил вам ответ, понял в чем ошибся. Теперь все работает.
    Я параметр прописывал с учетом перехода в подкатегорию (Крым), а нужно было без нее делать. Это все равно немного странно, но работает прекрасно.
      Артур Шевченко
      11 декабря 2022, 11:23
      0
      Вооот, потому что правильно сформулированный вопрос это 50% ответа))
        Валерий
        11 декабря 2022, 14:56
        0
        Это правда :)

        Но, справедливости ради, отмечу, что достигнутый результат не совсем тот, который хотелось бы видеть. Перехода на внутреннюю страницу не происходит, следовательно, пользователь не понимает, что он «внутри округа». Попробую с изображениями теперь написать:

        Внутренняя структура:

        Ресурс «Представители» это подборка, сделанная через компонент «Collections». Все ресурсы берутся из категории с ID 162.

        Код вывода фильтра на странице «Найти представителя» и странице «Центральный ФО» (дочерняя категория «Найти представителя»):

        [[!mFilter2?
         &parents=`162`
         &limit=`12`
         &hideContainers=`true`
         &suggestions=`false`
         &tvPrefix=`tv.`
         &includeTVs=`mentor_area,mentor_bisness,mentor_status,mentor_spec,personTown,mentor_fo`
         &tplOuter=`user-pers_mFilter2.outer`
         &tpl=`persons_item`
         &tpls=``
         &sort=`resource|pagetitle:asc`
        &filters=`
          tv|mentor_fo,
          tv|mentor_area,
          tv|personTown,
          tv|mentor_status,
          tv|mentor_spec,
        `
         ...
        Здесь «mentor_fo» — фильтр по Федеральным округам.

        И я хочу добиться того, чтобы, при заходе на страницу «Центральный ФО» через меню, фильтр стоял по-умолчанию на пункте «Центральный ФО».


        Дело в том, что из-за того, что фильтр «mentor_fo» привязан не к категориям в дереве ресурсов, а вручную вбивается в каждом сотруднике в качестве TV поля с множественным выбором, то фильтр сам не понимает, что мы внутри конкретного округа.

        Ох, надеюсь, что сейчас чуть понятнее… Стало.
        На самом деле, я хочу понять, почему, вписанная в замороженный url (первый скриншот сверху) ссылка не работает. Тогда как на странице с фильтром, если выбрать нужный округ там, то ссылка имеет именно этот вид :)
          Артур Шевченко
          12 декабря 2022, 00:23
          0
          Попробуй JS триггерить
            Валерий
            12 декабря 2022, 00:43
            0
            Думал это на крайний случай оставить, рывок все-таки будет виден.
            Дело в том, что я точно также (добавлением параметров к ссылке) формирую переход в другом месте. И там у меня все отрабатывает прекрасно.
            У меня сайт на тестовом сервере, может быть можно ссылку оставить, это не спам — вот здесь reg.wwwhite.ru/predstavitelstva/, если на карте выбрать любую точку, там есть большая зеленая кнопка для перехода в фильтр. Так вот она работает и 404 ошибку не вызывает. Чтобы увидеть, что оно работает, точку нужно выбрать в Крыму :))

            Единственная разница — здесь параметры идут после .html, а там, где не работает, идет после слеша.
      Валерий
      16 декабря 2022, 13:42
      0
      Итог страданий:

      &tvFilters=`mentor_status==%[[*longtitle]]%`
      Где longtitle значение фильтруемого TV поля, в ресурсе родителя.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7