Как выводить ID в зависимости от контекста?

Подскажите как правильно организовать меню? Мне требуется указать родительский ресурс, но на английской версии у родителя другой id следовательно выводится русское меню на англ контексте. Как решить эту проблему? Можно как-то менять? И еще вопрос, можно ли через fenom проверить, является ли исходный ресурс контейнером или нет?
Вячеслав Варов
13 марта 2017, 23:19
modx.pro
1 035
0

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

Василий Столейков
14 марта 2017, 08:58
2
+3
Мне требуется указать родительский ресурс, но на английской версии у родителя другой id следовательно выводится русское меню на англ контексте.
{* В зависимости от контекста указываем нужного родителя *}
{if $_modx->context.key == 'web'}
    {set $parent = 12}
{else}
    {set $parent = 12}
{/if}

{* в параметрах вызова указываем переменную $parent:  *}
    'parent' => $parent,

можно ли через fenom проверить, является ли исходный ресурс контейнером или нет?
конечно, если исходный имеется ввиду текущий, то:
{if $_modx->resource.isfolder == 1}
контейнер
{else}
не контейнер
{/if}
Если в чанке меню, то просто $isfolder
    Павел Романов
    14 марта 2017, 11:10
    +1
    Если языки на контекстах, то проще создать свой параметр в настройках контекста.

    Допустим, ID каталога в русской версии — 20, а в английской — 50.
    Создаете параметр, называете его page_catalog. У русского контекста ставите значение 20, у английского — 50. Тогда можно не делать условия, а просто использовать тег:
    &parents=`[[++page_parent]]`
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2