ForgeTotal.js 5
nl

Total.js 5

Secties van de layout vullen vanuit een view

Total.js 5 · total5@0.0.19 viewslayouttemplates Uitgevoerd met Total.js 5

Een view kan markup naar een benoemde plek van de layout sturen. Schrijf in de view @{section name}...@{end}; druk hem in de layout af met @{section('name')}. Zo voegt een pagina eigen scripts of een footer toe zonder dat de layout ervan weet.

Om voor een verzoek een andere layout te gebruiken, roep je $.layout('name') aan vóór $.view() (het rendert views/name.html als layout).

views/layout.html
<html><body>@{body}<footer>@{section('footer')}</footer></body></html>
views/layout-wide.html
<html><body class="wide">@{body}</body></html>
views/index.html
@{section footer}
	<span>Footer from the view</span>
@{end}
<h1>Home</h1>
controllers/default.js
exports.install = function() {
	ROUTE('GET /', home);
	ROUTE('GET /wide/', wide);
};

function home($) {
	$.view('index');
}

function wide($) {
	$.layout('layout-wide');
	$.view('index');
}