Как показать один ресурс в разных пунктах меню с одним и тем же URL?
Приветствую.
Есть MODX REVO, есть структура меню (общая схема):
При открытии ресурса Х вид меню такой:
При переходе в раздел 2 меню имеет такой вид:
Хочу сделать так, чтобы ресурс Х был доступен в меню раздела 2, и при нажатии на него пункт меню становился активным именно в разделе 2, т. е. не менял свой вид, раздел 2 был бы раскрытым.
Как я понял, это достигается использованием типом ресурса «символической ссылки». Но есть одна маленькая проблемка — URL другой у созданной символической. Как сделать такой же URL и оставить поведение символической ссылки?
Есть MODX REVO, есть структура меню (общая схема):
раздел 1
ресурс 3
ресурс Х (оформленный ресурс, url=/cat_1/res_х/)
ресурс 5
раздел 2
ресурс 6
показать здесь ресурс Х
ресурс 7 При открытии ресурса Х вид меню такой:
раздел 1
ресурс 3
ресурс Х <
ресурс 5
раздел 2При переходе в раздел 2 меню имеет такой вид:
раздел 1
раздел 2
ресурс 6
показать здесь ресурс Х
ресурс 7Хочу сделать так, чтобы ресурс Х был доступен в меню раздела 2, и при нажатии на него пункт меню становился активным именно в разделе 2, т. е. не менял свой вид, раздел 2 был бы раскрытым.
Как я понял, это достигается использованием типом ресурса «символической ссылки». Но есть одна маленькая проблемка — URL другой у созданной символической. Как сделать такой же URL и оставить поведение символической ссылки?
Комментарии: 18
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Именно так.
Если представить себе эту схему, то есть варианты:
1. Простой запрос URL, к примеру, вводом в адресную строку браузера — открывается страница, вложенная в первый раздел.
2. Запрос URL из второго раздела — открывается во втором разделе.
Т. е. что-то типа приоритезации открытия URL: по умолчанию — в первом разделе, а если из второго раздела — во втором. Давно об этом думал, но толком ничего не придумал. Возможно, это как-то можно обработать программно… Не то что можно, это наверняка возможно, но как… может быть, передачей каких-то дополнительных пареметров в URL через Javascript…
Страница одна с одним и тем же адресом, да.
Представьте, вбиваете вы в адресную строку site.com/page_x. Вы попадаете на сайт в раздел первый (см. пример в вопросе). Тут, вроде, все штатно, понятно.
Теперь второй вариант. Изучаете сайт, зашли в раздел №2 (см. пример в вопросе). Нажимаете в этом разделе на ссылку site.com/page_x и открывается эта страница. Но при этом меню раздела №2 остается активным, вы не переходите в раздел первый — остаетесь во втором.
Получается так, что фактически страница одна в двух вариантах. На озоне, к примеру, есть такая реализация: один товар в нескольких категориях одновременно находится по одному и тому же адресу, но при этом в меню навигации по категориям мы «не прыгаем» между категориями. Как это у них реализовано — я не знаю. Встречал такаое и на других сайтах. И вот такая реализация меня и интересует. Но как — вопрос!
а потом в шаблоне проверяете тип ресурса символической и берите id в поле content и генерите сами нужный url он, как раз будет таким как нужно.
Если не хотите грузить pdoMenu полем content, можно придумать другое поле для «сбора» ID ресурса.
и никаких сниппетов и прочее.