Magnolia 6.0 получает текущий узел в конечной точке

у меня работает магнолия 6.0, которая использует ftl, и мне нужно найти запрошенный узел, чтобы построить навигацию и пометить текущий узел как активный.

Я перебираю страницы и подэлементы, чтобы получить каждую запись навигации. но я не получил текущий узел.

Пример:

  • my-website
    • page 1
    • подстраница 1-1
    • подстраница 1-2
    • страница 2
    • подстраница 2-1
    • подстраница 2-2

API-вызовы магнолии выглядят следующим образом:

my-website/page-1/sub-page-1-2.json

Поэтому мне нужно знать, что sub-page-1-2 является текущим в шаблонах ftl.

Я нашел похожие вопросы, но это не работает для меня: FreeMarker — получить текущий URL-адрес

Итак, я попробовал следующее:

  • используйте cmsfn.parent(content, "mgnl:page"), но с этим я получаю текущий модуль страницы, но не текущую подстраницу.
  • также используйте cmsfn.decode(item), но это дает мне только URL-адрес элемента

Есть ли способ получить запрашиваемый узел в шаблоне ftl?


person rob    schedule 08.07.2019    source источник


Ответы (1)


Да, есть способ получить запрошенный узел (контент) или дополнительную информацию о контексте.

Пожалуйста, взгляните на https://documentation.magnolia-cms.com/display/DOCS60/Rendering+context+objects

Надеюсь, это поможет,

Ваше здоровье,

person Ducaz035    schedule 08.07.2019
comment
спасибо, это была хорошая подсказка. теперь я использую объект контекста и получаю запрошенный uri ctx.getRequest().getRequestURI() - person rob; 09.07.2019