鉴于以下代码
Test.ss(在模板中)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Templates
$Layout
</body>
</html>
Test.ss(在布局中)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Layout</title>
</head>
<body>
Layout
</body>
</html>
SilverStripe中的输出:
模板 布局
我的问题是SilverStripe在布局中剥离html标签吗?
答案 0 :(得分:1)
不,SilverStripe不会从布局模板中删除html标记。您模板中的html将按原样打印。
因此,您的示例模板将导致以下html输出:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Templates
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Layout</title>
</head>
<body>
Layout
</body>
</html>
</body>
</html>
您可以通过查看页面来源自行查看。在Chrome中,网址为view-source:http://your-website-url
避免在html
模板中使用head
,body
和layout
标记,因为主模板会对此进行处理。
相反,您的template/layouts/test.ss
文件应如下所示:
<p>Layout</p>
使用原始template/test.ss
,这会给您输出:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Templates
<p>Layout</p>
</body>
</html>