使用 chameleon 时,我可以使用插槽的概念从基本模板中替换元素。您在其中定义一个插槽并使用另一个标签填充它。由于 head 中没有容器元素,如何向 head 中添加元素?:
布局文件
<html>
<head>
<div metal:define-slot="extra_head"></div>
</head>
<body>
...
</body>
</html>
需要指定额外头部的内容模板。
<html metal:use-macro="load: main.pt">
<div metal:fill-slot="extra_head">
<script type="text/javascript" src="http://example/script.js"></script>
</div>
...
</html>
这将呈现在:
<html>
<head>
<div metal:fill-slot="extra_head">
<script type="text/javascript" src="http://example/script.js"></script>
</div>
</head>
<body>
...
</body>
</html>
但是 head 中没有容器标签,那么如何定义一个插槽来在 head 中添加东西呢?