【问题标题】:Grav CMS page namesGrav CMS 页面名称
【发布时间】:2017-11-17 16:25:50
【问题描述】:

我已经用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 中编辑我的 markdown,而不是在 Grav 管理面板中。但是,这意味着我最终可能会同时打开多个 default.en.md 文件,这是一场等待发生的灾难。是否可以将降价文件重命名为更合乎逻辑的名称?

【问题讨论】:

    标签: content-management-system grav


    【解决方案1】:

    其实可以的。

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

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

    如果我们只是有一个标题

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

    【讨论】:

    • 也就是说,只要在页面frontmatter中指定模板,页面名称就可以更改?
    • @DroidOS 是的,模板变量将覆盖文件名。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 2015-04-19
      • 2016-12-18
      • 2018-05-23
      • 2021-06-10
      • 1970-01-01
      相关资源
      最近更新 更多