Tutorial > Routing


Binnen ieder template in nodum is het mogelijk om de routing van je pagina's gemakkelijk te regelen. Hiermee kun je bijvoorbeeld heel gemakkelijk je menustructuur weergeven in een menu en worden interne verwijzingen naar pagina's binnen je project gemakkelijker af te handelen.

De routing is in alle templates in nodum standaard ingeschakeld. In de algemene configuratie dient disable_routing (onder het kopje 'general') wel uit te staan (0).

Het opgeven van '.twig' is niet meer nodig achter een URL. Iedere URL dient minimaal uit 2 delen te bestaan, gescheiden door een slash (/) of dash (-). Het eerste gedeelte verwijst naar een mapnaam in het project, het tweede gedeelte naar de twig-file (dus zonder .twig). Alle templates krijgen eveneens de beschikking over de volgende variabelen:

{{ folder }}
en
{{ page }}

De huidige URL is https://documentatie.nodum.io/tutorial/routing. In dit voorbeeld is {{ page }} 'routing.twig' en de {{ folder }} is 'tutorial'. Standaard staat in het bestand 'index.twig' in de map 'Template' in de module. Code het volgende stukje code:

{{ routing|raw }}

Deze code zorgt ervoor dat alle mappen en de bijbehorende bestanden te vinden zijn volgens het hierboven beschreven principe.

Routing listing (auto-menu)

Om in nodum een lijst met de mappen op te vragen en daar onder de bestanden:

<h3>Mappen:</h3>
<ul>
    {% for map in twig.getFolders %}
        <li>
            <a href="{{ map.fullurl }}">{{ map.title }} ({{ map.url }})</a>
            <ul>
                {% for page in twig.getPages(map.id) %}
                    <li>
                        <a href="{{ page.fullurl }}">{{ page.title }} ({{ page.url }})</a>
                    </li>
                {% endfor %}
            </ul>
        </li>
    {% endfor %}
</ul>