Grav CMS页面名称

时间:2017-11-17 16:25:50

标签: content-management-system grav

我已经在Grav进行了几天的试验,并且为那些只使用过Wordpress的人发现了真正的新鲜空气。然而,有一件事困扰着我。 Grav使用的文件夹结构驱动的平面文件页面层次结构很容易得到像下面那样的文件夹结构

01.home
 |
 --- default.en.md
     |
     01.sub-page-1
                 |
                  --- default.en.md
     |
     02.sub-page-2
                 |
                  --- default.en.md

存在问题。我更喜欢通过SFTP在Visual Studio Code中编辑我的降价,而不是在Grav Admin面板中。但是,这意味着我最终可以同时打开多个default.en.md文件,这是一个等待发生的灾难。是否可以将markdown文件重命名为更符合逻辑的文件?我非常感谢任何帮助

2 个答案:

答案 0 :(得分:2)

你实际上可以。

默认情况下,grav从markdown文件的名称中提取模板类型。但是,您可以通过在页面的YAML标头中设置template变量来覆盖此行为。所以我们可以很容易地得到类似的东西:

01.home
 |
 --- homepage.en.md
     |
     01.sub-page-1
                 |
                  --- home.subpage1.en.md

如果我们只有一个标题

---
title: blah
template: default
...
---

答案 1 :(得分:1)

markdown文件的名称指定要使用的模板。因此,在您的示例中,每个子文件夹中的所有页面都将使用位于MouseEvent文件夹中的default.html.twig

我认为您已经从Grav的官方页面下载了基本模板。在这种情况下,默认模板是Antimatter。您可以在 themes / anitmatter 中看到有一个名为 default.html.twig 的文件,因此应用了此模板。但是,如果您要在 user / config / system.yaml 中设置主题,让我们说my-theme(而不是反物质),您可以定义自己的default.html.twig(您自己的模板) 。

因此,要回答您的问题,您可以为每个页面创建自己的模板,或者更好的是类似页面的模板(如博客文章)。那么你可能会得到类似的东西。

templates/THEME_IN_USE/