по моему default-layout.hamlet
:
!!!
<html lang="en">
<head>
<meta charset="utf-8">
<title>#{pageTitle pc}
^{pageHead pc}
<body>
<div id="main">
<div id="header">
????
<div id="content">
^{pageBody pc}
из функции обработчика, мне нужно заменить ????
выше на некоторое содержимое HTML.
как это сделать?
спасибо за любой вклад.
EDIT:
Я ищу функциональность, подобную, например, шаблонным блокам django. Я могу определить блок внутри шаблона, и обработчик, который использует этот шаблон для рендеринга, может заполнить блоки шаблона необходимым содержимым. Сейчас у yesod фактически есть один блок в теле шаблона. это «определяется» вызовом ^{pageBody pc}
. Я знаю, что могу создать вывод, сгенерированный pageBody
, любым способом, который я хочу использовать addWidget
и т. Д., Но сейчас мне нужно будет также вывести свои <div id="header">
и <div id="content">
, и я хочу избежать этого, потому что все обработчики должны будут вывести эти div
, чтобы иметь одинаковую структуру разметки на всех страницах.