Спасибо Коля! буду разбираться

Саш, не надо в ядро лезть. Утопия это. Со ссылками эти действительно проблема (которые в других контекстах находятся), и пути генерирует не совсем сам MODx (имею ввиду именно класс MODx), а modContext. В итоге, чтобы влезть в эту логику, я раньше использовал собственный класс парсера ShopmodxParser. В последних версиях пакета я его исключил за ненадобностью, но в прошлых коммитах откопать можно. Смотри, там собственный класс линк-тега ShopmodxLinkTag, и он вызывается как раз на обработку линков. К сожалению, modParser написан далеко не идеально, и расширять его крайне не удобно. То есть чтобы вот просто логику обработку тегов изменить, приходится полпарсера копипастить. Как подключить свой парсер, смотри метод MODx::getParser(). Просто указываешь системную настройку parser_class и все. В нашем случае это classes.ShopmodxParser

так и стоит. Но дело в том, что большинство документов в другом контексте. Я подозреваю, что из-за этого MODX генерирует абсолютный адрес. Только пока не могу найти, где :( Так-то я готов уже в ядро залезть, раз по другому никак :)

есть настройка link_tag_scheme. Значение "-1" задает относительный путь от base_url.

[[~82]] Как я уже говорил, большинство страниц одни и те же для всех сайтов. И поэтому должен использоваться один и тот же механизм.

А как Вы формируете ссылки в контекстах филиалов? Можете пример вызова показать?

У меня основной сайт содержит несколько сотен страниц (пока), а сайты филиалов должны отличатся только страничкой новостей, контактов, и еще несколькими. И этот вариант не подходит. Конечно, я могу залезть в makeURL, но не хочется этого делать. Надеюсь, есть какой-то более правильный путь.

Добрый день! Попробуйте сделать символические ссылки из ресурса одного контекста на другой (вкладка «настройка» в панели редактирования ресурсов и тип документа — сим.ссылка).