[pdoMenu] Генерация меню на основе другого контекста
Добрый день.
На сайте есть два контекста, скажем ru и eng, при этом контекст ru — основной, в нём есть все ресурсы сайта, а eng — дополнительный, в нём созданы только те ресурсы, которые должны отличаться от ресурсов основного контекста по наполнению.
Для ru генерится ссылка следующего вида: site.io
Для eng — site.io/eng/
Проблема в следующем: Как генерить меню сайта с помощью pdoTools в контексте eng таким образом, чтобы структура ресурсов бралась из основного контекста ru, а ссылки генерились с учётом текущего контекста? Т.е. site.io/eng/about.html, site.io/eng/countacts.html и т.д. Сейчас они генерятся просто как site.io/about.html
Пример вызова pdoMenu
Я читал, что проблема может быть в отсутствии параметра контекста site_url, но он у меня есть и везде заполнен.
Заранее спасибо за вашу помощь.
На сайте есть два контекста, скажем ru и eng, при этом контекст ru — основной, в нём есть все ресурсы сайта, а eng — дополнительный, в нём созданы только те ресурсы, которые должны отличаться от ресурсов основного контекста по наполнению.
Для ru генерится ссылка следующего вида: site.io
Для eng — site.io/eng/
Проблема в следующем: Как генерить меню сайта с помощью pdoTools в контексте eng таким образом, чтобы структура ресурсов бралась из основного контекста ru, а ссылки генерились с учётом текущего контекста? Т.е. site.io/eng/about.html, site.io/eng/countacts.html и т.д. Сейчас они генерятся просто как site.io/about.html
[[pdoMenu?
&parents=`0`
&resources=`-552`
&templates=`-12,-10,-4,-40`
&level=`2`
&outerClass=`topMenu`
&tpl=`tpl.topMenu`
&context=`web`
&scheme=`full`
]]
Если вызывать pdoMenu без параметра context, то меню генерится правильно, но оно состоит только из одной главной страницы, потому что собственно для контекста eng только она отличается по наполнению.Я читал, что проблема может быть в отсутствии параметра контекста site_url, но он у меня есть и везде заполнен.
Заранее спасибо за вашу помощь.
Комментарии: 4
Если у вас отличие только в контенте, то зачем понадобились контекст, почему не PolyLang?
Ну как в контенте, там может быть и дизайн будет другой. Там вообще предполагалось, что можно будет сделать на основе вот этой статьи. cat-art.ru/blog/multiyazyichnost-modx-revo Только без Babel.
Сделайте разные шаблоны, для разных контекстов.
{($_modx->config.cultureKey=='ru')? tpl.topMenuRU: tpl.topMenu}
{($_modx->config.cultureKey=='ru')? tpl.topMenuRU: tpl.topMenu}
&tpl=`tpl.topMenu`
Вообще я бы для pdoMenu использовал &tpl=`@INLINE `
Так контекстов предполагается много, плюс самих шаблонов там дофига. Нужно какое-то более универсальное решение
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.