# ============================================================================= # VITEC menus — Headless / JSON output # # Three menus are exposed at the page root of the JSON response: # - mainNavigation : full hierarchy from root, all visible pages # - footerMenu : curated, configured via site setting menu.footer.pageUids # - metaMenu : curated, configured via site setting menu.meta.pageUids # # Each menu uses friendsoftypo3/headless MenuProcessor which: # * resolves Shortcut pages to their target # * skips pages with "Show in menu = no" (nav_hide=1) by default # * marks active / current items # * exposes `children` for sub-levels # ============================================================================= # ----------------------------------------------------------------------------- # Main navigation — full hierarchy # ----------------------------------------------------------------------------- lib.mainNavigation = JSON lib.mainNavigation { dataProcessing { 10 = FriendsOfTYPO3\Headless\DataProcessing\MenuProcessor 10 { levels = 10 expandAll = 1 includeSpacer = 0 titleField = nav_title // title as = mainNavigation } } } # ----------------------------------------------------------------------------- # Footer menu — curated by site setting (UIDs) # ----------------------------------------------------------------------------- lib.footerMenu = JSON lib.footerMenu { dataProcessing { 10 = FriendsOfTYPO3\Headless\DataProcessing\MenuProcessor 10 { special = list special.value = {$menu.footer.pageUids} levels = 1 includeSpacer = 0 titleField = nav_title // title as = footerMenu } } } # ----------------------------------------------------------------------------- # Meta menu — curated by site setting (UIDs) # ----------------------------------------------------------------------------- lib.metaMenu = JSON lib.metaMenu { dataProcessing { 10 = FriendsOfTYPO3\Headless\DataProcessing\MenuProcessor 10 { special = list special.value = {$menu.meta.pageUids} levels = 1 includeSpacer = 0 titleField = nav_title // title as = metaMenu } } } # ----------------------------------------------------------------------------- # Wire them into the page-level JSON output # ----------------------------------------------------------------------------- page.10.fields.mainNavigation =< lib.mainNavigation page.10.fields.footerMenu =< lib.footerMenu page.10.fields.metaMenu =< lib.metaMenu