Preencher secções do layout a partir de uma vista
Uma vista pode enviar marcação para um local com nome do layout. Na vista escreva @{section name}...@{end}; no layout imprima-a com @{section('name')}. É assim que uma página acrescenta os seus próprios scripts ou rodapé sem que o layout saiba deles.
Para usar um layout diferente num pedido, chame $.layout('name') antes de $.view() (renderiza views/name.html como layout).
<html><body>@{body}<footer>@{section('footer')}</footer></body></html><html><body class="wide">@{body}</body></html>@{section footer}
<span>Footer from the view</span>
@{end}
<h1>Home</h1>exports.install = function() {
ROUTE('GET /', home);
ROUTE('GET /wide/', wide);
};
function home($) {
$.view('index');
}
function wide($) {
$.layout('layout-wide');
$.view('index');
}