我已经开始看看十月了,虽然我能够构建一个默认布局,并且有条件地在需要的地方包含部分内容。我宁愿窝布局。
即。 root
布局不依赖于任何其他布局,但nav
布局引用root
布局。
这可能吗?
修改
我正在寻找替换 ExpressionEngine 。在EE中,我可以使用root
标记html>head+body
布局。然后我可以在导航中添加nav
布局,但将root
布局引用为ITS布局。因此,您最终会使用root
引用的nav
,或者可以被任何[page]
直接引用(如果不需要/不需要导航)。嵌套布局只允许我有条不紊地保留layout
或page
中的部分内容。在我看来,只是一个更清晰的标记。此外,root
和nav
都会有{% page %}
标记来指示内容展示位置。
理想情况......
根布局
<html>
<head>[common tags]</head>
<body>
{% page %}
</body>
</html>
导航布局
layout="root"
==
<nav>[markup]</nav>
{% page %}
因此,当页面引用root
时,不会显示任何导航。但是,当引用nav
{% page %}
的页面被注入nav
并且nav
+ {% page %}
的内容作为{% page %}
内容传递给root
。
希望附加信息有用。
答案 0 :(得分:1)
目前不支持嵌套布局,但您可以使用placeholders和partials完成此操作。
以下是我目前用于导航的一些示例。
<强>布局/与-nav.htm:强>
description = "Layout with nav"
[staticMenu nav]
code = "header-nav"
==
{# Setup the navigation menus #}
{% put headerNav %}
{% set hNavOptions = {
'submenus': true
} %}
{% partial "tmpl/nav-header" menu=nav options=hNavOptions %}
{% endput %}
{% partial "tmpl/header" %}
<!-- Content -->
<div id="layout-content">
<div class="container">
<div class="row">
<div class="col-sm-12">
{% page %}
</div>
</div>
</div>
</div>
{% partial "tmpl/footer" %}
<强>布局/无-nav.htm:强>
description = "Layout without nav"
==
{% partial "tmpl/header" %}
<!-- Content -->
<div id="layout-content">
<div class="container">
<div class="row">
<div class="col-sm-12">
{% page %}
</div>
</div>
</div>
</div>
{% partial "tmpl/footer" %}
<强>泛音/ TMPL / header.htm:强>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% placeholder page_title default %}{{ this.page.title }}{% endplaceholder %} | {{ app_name }}</title>
{% partial "meta/icons" %}
{% partial "meta/seo" %}
{% partial "meta/styles" %}
</head>
<body class="page-{{ this.page.url | slugify }} layout-{{ this.layout.id }}">
<!-- Header -->
<header id="home" class="header-area">
{% placeholder headerNav default %}
<!-- headerNav not defined in page layout. -->
{% endplaceholder %}
</header>