Добрый день.
Версия modx?
И подробнее про структуру сайта. Несколько разделов - это несколько контекстов, или все в одном? Чем сейчас выводите новости?
Можно сделать новости вне этого меню, отдельным ресурсом, и поставить ему "не показывать в меню". А в меню по каждому городу раздел "Новости" сделать типа "символическая ссылка", которая должна ссылаться на ID документа с настоящими новостями.
Теперь я заморочился с символическими ссылками.
Вот к примеру у меня есть меню:
Новости (id 1)
Города
--Москва
----Меню
------О компании
------Новости(id 2)
------Контакты
Где "Новости (id 2)" являются символической сылкой.
А Новости (id 1) общий рессурс, содержимое котороя я хочу получить в Новости (id 2)
В итоге я хочу получить: Адрес site.ru/moscow/news, при этом должен открыться рессурс c id 1.
Подскажите как это сделать.
По пунктам:
1. Я захожу в Новости(id 2), в таб "Настройки" там выбираю "Тип ресурса" - "Символическая ссылка"
2. Затем в первом табе, в поле "Символическая ссылка" я указываю id страницы на которую я хочу ссылаться? В моем случае id - 1.
Да, все верно. Чтобы получить нужный вам URL, вы можете либо задать "Новости(id 2)" (которая является сим. ссылкой) псевдоним "news", либо воспользоваться функцией "заморозить URL" для этого документа и указать нужный URL явным образом.
Это породило следующие ошибки.
Первое, на что нужо обратить внимание - это то, что ссылка показывает контент другого ресурса, на который ссылается. Но при этом не меняется id, поэтому, если там запущен сниппет, выводящий потомков того ресурса — это работать не будет.
Точнее, будет, если указан parents, а если он пуст, то сниппет попробует вывести потомков текущего id, а их и нет, страница пустая.
Вторая и основная проблема заключается в том, что дочерние ресурсы формируют неправильный url. Точнее, правильный, но не тот, что нужно.
site.ru/news/novost-1/ Нужно, чтобы город вставал между названием сайта и разделом news. Думаю, для решения этой проблемы придется подключать .htaccess. Если не ошибаюсь, я где-то видел подобное.