我有一個佈局稱爲layouts/master.dust
超載塊與dust.js嵌套模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>{+title /}</title>
<link rel="stylesheet" href="css/app.css" />
</head>
<body>
<div id="wrapper">
<h3>This is the master header</h3>
{+body /}
</div>
</body>
</html>
然後我有一個模板稱爲index.dust
:
{>"layouts/master" /}
{<body}
<h1>{@pre type="content" key="greeting"/}</h1>
{/body}
可以預見的是,輸出
這是主標題
你好,亞歷克斯!
(當有關JSON提供)
我的問題是,我創建了另一個 「嵌套」 或 「子」 的模板:layouts/admin.dust
,看起來像:
{>"layouts/master" /}
<h4>This is an admin header</h4>
{+body /}
和使用layouts/admin/dust
這樣的模板adminIndex.dust
:
{>"layouts/admin" /}
{<body}
<p>This is some stuff for admin</p>
{/body}
我的問題,是outpu t是:
這是主標題
這是一些工具和管理這是管理員頭部
這是一些工具和管理
所以,我的{+body}
塊被調用兩次,並且不會被我的嵌套模板覆蓋
有沒有辦法做到這一點?
編輯
按我的評論中,admin.dust
更「現實」的例子是:
{>"layouts/master" /}
<h4>This is an admin header</h4>
<div style="float: left; width: 200px;">
<strong>left nav</strong>
<ul>
<li>Link one</li>
<li>Link two</li>
</ul>
</div>
<div style="float: right">
{+ body /}
</div>
凡在使用admin
佈局模板,其body
是一個div右移(例如)
感謝您的回答。在現實中,admin.dust將包含2欄佈局,左側是一個「導航」區域,右側是「身體」或內容...有在admin.dust中指定應該呈現正文的方式? – Alex
我編輯了我的admin.dust模板以反映上述註釋 – Alex
您是否可以爲管理員和非管理員頁面添加您期望的輸出結果(包括HTML)? – smfoote