我正在使用Grav模块化页面来构建网站,但是找不到如何定位特定模块来添加CSS类的方法。
我找到了这个https://learn.getgrav.org/16/content/media,但看不到有没有办法做到这一点。
我要实现的目标是页面中每个模块化div都有不同的背景。
答案 0 :(得分:0)
正如一个模块所暗示的那样,要显示它,要浏览该父级的Twig模板中的paren'ts页面集合,您可以在其中添加任何HTML和CSS。
例如,这是一种遍历集合的方法:
{% for module in page.collection %}
<section class="module">
{{ module.content }}
</section>
{% endfor %}
您可以通过使用Twig变量来自定义CSS类。最安全的方法是使用页面的子弹,其中已经转义了字符:
{% for module in page.collection %}
<section class="module_{{module.slug}}">
{{ module.content }}
</section>
{% endfor %}
您可以使用已经存在的选项来定义CSS:
classes: module1
,然后通过使用header()
函数在嫩枝中使用它:
{% for module in page.collection %}
<section class="module_{{module.header.classes}}">
{{ module.content }}
</section>
{% endfor %}
现在,要定位Twig中的特定模块,您必须导入页面。
这是访问其他页面或子页面内容的通用方法:
{% set imported_page = page.find("/route/to/the/page") %}
然后您可以使用header()
和content()
函数来访问该导入页面的前题和内容:
<section class="module_{{imported_page.header.classes}}">
{{ imported_page.content }}
</section>