Content management system Grav CMS页面名称

Content management system Grav CMS页面名称,content-management-system,grav,Content Management System,Grav,我已经尝试了几天了,对于一个只使用过WordPress的人来说,这是一次真正的新鲜空气。然而,有一件事困扰着我。Grav使用的文件夹结构驱动的平面文件页面层次结构可以很容易地以如下所示的文件夹结构结束 01.home | --- default.en.md | 01.sub-page-1 | --- default.en.md | 02.sub-page-2

我已经尝试了几天了,对于一个只使用过WordPress的人来说,这是一次真正的新鲜空气。然而,有一件事困扰着我。Grav使用的文件夹结构驱动的平面文件页面层次结构可以很容易地以如下所示的文件夹结构结束

01.home
 |
 --- default.en.md
     |
     01.sub-page-1
                 |
                  --- default.en.md
     |
     02.sub-page-2
                 |
                  --- default.en.md
问题就在这里。我更喜欢通过SFTP在visualstudio代码中编辑我的降价,而不是在Grav管理面板中。但是,这意味着我可以同时打开多个default.en.md文件,这将是一场灾难。是否可以将标记文件重命名为更符合逻辑的文件?

实际上可以

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

01.home
 |
 --- homepage.en.md
     |
     01.sub-page-1
                 |
                  --- home.subpage1.en.md
如果我们只是有一个

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

标记文件的名称指定要使用的模板。因此,在您的示例中,每个子文件夹中的所有页面都将使用位于use/
文件夹中的
templates/THEME\u中的
default.html.twig

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

因此,为了回答您的问题,您可以为每个页面创建自己的模板,或者更好地为类似页面创建一个模板(如博客文章)。你可能会得到这样的结果

pages
  01.home
   |
   --- default.en.md
       |
       01.blog-post
                   |
                    --- blog.en.md
       |
       02.contact
                   |
                    --- contact.en.md
themes
  my-theme
   |
    ...

    templates
        --- default.html.twig
        --- blog.html.twig
        --- contact.html.twig

换句话说,只要在页面frontmatter中指定模板,页面名称就可以更改?@DroidOS是的,模板变量将覆盖文件名。