Twig > Variabelen
Variabelen gebruik je binnen Twig niet alleen als opslagruimte voor een lange reeks tekens zoals in de vorige paragraaf, je kunt er nog veel krachtigere zaken mee uitvoeren. Zo kun je variabelen gebruiken binnen for-loops
, als API
of als onderdeel van je include
-commando. Geen paniek als deze zaken je nog niets zeggen, die leer je gaandeweg de documentatie. Voor nu, een korte introductie in variabelen.
Twig verbindt zoals gezegd HTML met logica uit programmeertalen. Je kunt de syntax aanroepen door gebruik te maken van accolades. In combinatie met een %
-teken kun je variabelen opslaan en logica uitvoeren, dubbele accolades zorgen ervoor dat je variablen kunt weergeven. Het resultaat van onderstaande code is dat in 'foo' de string 'bar' komt te staan en die wordt in <h1>
-tags weergegeven.
{% set foo = 'bar' %}
<h1>{{ foo }}</h1>
Op de website verschijnt dan:
<h1>bar</h1>
Een variabele bestaat enkel in het bestand waar hij gemaakt wordt en is dus niet zomaar aan te roepen in andere scripts. Dat is echter wel mogelijk, meer hierover lees je in subsectie 'Include'.
Variabelen zijn ook aan te roepen via de zogenaamde 'globals' in Twig en nodum. Met onderstaande aanroep zal de sessiewaarde 'username' weergegeven worden in de browser dankzij de session
-global.
{{ session.get('username') }}
Er is een aantal 'gereserveerde' variabelen in nodum. Deze variabelen, ook wel 'globals' genoemd, geven standaardwaarden terug binnen het platform. Het is dus niet verstandig om deze te overschrijven. Voorbeelden van een gereserveerde global zijn onder meer https://documentatie.nodum.io/
en {{ fulluri }}
. De eerste geeft altijd de homepage van het project terug, de tweede altijd de volledige pagina's inclusief parameters van de huidige pagina. Deze zouden als volgt te gebruiken kunnen zijn.
{# Er vanuitgaande dat de gebruiker is ingelogd en de naam van de gebruiker in de huidige sessie te vinden is. #}
<h1>Hoi {{ session.get('username') }}, welkom!</h1>
<p>Je bevindt je nu op {{ fulluri }}, klik <a href="https://documentatie.nodum.io/">hier</a> om terug te keren naar de homepage.</p>
Een lijst van de globals in nodum is hier te vinden.
Twig hanteert tot slot nog een mogelijheid om notities, commentaar of reminders in te stellen. Alle tekst tussen {#
en #}
worden niet weergegeven in de browser en zijn dus alleen voor de ontwikkelaar te zien in de code.
{# TODO: Maak het onmogelijk om de gebruikersnaam te veranderen #}