4

我正在将 Mozilla Nunjucks 模板系统用于具有多个页面的静态网站。出于某种目的,我想body为每个不同的页面添加一个类来标记

关于我们页面 ><body class="about">

主页 ><body class="home">

如果我将标签保留在每个页面中,我可以很容易地做到这一点,body但我想将body标签保留在我将用于所有页面的模板中。

我想有条件地改变课程。

4

3 回答 3

6
  1. 在您的页面上设置变量。在您的 page.njk 上: {% set bodyClass = "pageClass" %}
  2. 在布局上调用 bodyClass。<body{% if bodyClass %} class="{{ bodyClass }}"{% endif %}>
于 2017-06-20T04:37:51.977 回答
3

它不是完全动态的,但您可以在页面模板中设置变量并在条件中使用这些变量来设置正文类。

布局.nunjucks

{% if pgHome %}
  <body class="home">
{% elif pgAbout %}
  <body class="about">
{% else %}
  <body class="page">
{% endif %}

home.nunjucks

{% extends "layout.nunjucks" %}
{% set pgHome = true %}


  Homepage Markup
  ... 
于 2016-02-12T06:14:49.760 回答
2

尝试这个:

布局:

<body class="{%block bodyClass %}{% endblock %}"> 

页:

{% block bodyClass %} about {% endblock %}
于 2015-10-19T22:44:56.430 回答