List menu

A HMENU of type special = list lets you create a menu that lists the pages you define in the property special.value.

Mount pages are supported.

Properties

special.value

special.value
Type
list of page IDs /stdWrap
Default
0

This will generate a menu with the two pages (uid=35 and uid=56) listed:

EXT:site_package/Configuration/TypoScript/setup.typoscript
lib.listOfSelectedPages = HMENU
lib.listOfSelectedPages {
    special = list
    special.value = 35, 56
    // render the menu
}
Copied!

If special.value is not set, the default uid is 0, so that only your homepage will be listed.

Example: Menu of all subpages

The content element Menu > Pages provided by the system extension fluid_styled_content is configured with a MenuProcessor which is based on the options of the HMENU and provides all its properties:

EXT:fluid_styled_content/Configuration/TypoScript/ContentElement/MenuPages.typoscript
# Menu of selected pages:
# ...
#
# CType: menu_pages

tt_content.menu_pages =< lib.contentElement
tt_content.menu_pages {
    templateName = MenuPages
    dataProcessing {
        10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
        10 {
            special = list
            special.value.field = pages
            dataProcessing {
                10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
                10 {
                    references.fieldName = media
                }
            }
        }
    }
}
Copied!

The following Fluid template can be used to style the menu:

EXT:fluid_styled_content/Resources/Private/Templates/MenuPages.html
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="Default" />
<f:section name="Main">
    <f:if condition="{menu}">
        <ul>
            <f:for each="{menu}" as="page">
                <li>
                    <a href="{page.link}"{f:if(condition: page.target, then: ' target="{page.target}"')}{f:if(condition: page.current, then: ' aria-current="page"')} title="{page.title}">
                        <span>{page.title}</span>
                    </a>
                </li>
            </f:for>
        </ul>
    </f:if>

</f:section>
</html>
Copied!