【问题标题】:Silverstripe not using HomePage.ss as Chrome?Silverstripe 不使用 HomePage.ss 作为 Chrome?
【发布时间】:2018-04-28 03:00:00
【问题描述】:

您好,我学习了 Silverstripe 课程https://www.silverstripe.org/learn/lessons/v4/working-with-multiple-templates-1,甚至尝试从存储库下载代码,但是当我尝试创建模板/HomePage.ss 时,Chrome Silverstripe 仍然使用 Page.ss。显然课程说“它首先在主模板/目录中查找此页面的 chrome。如果它在那里找到 HomePage.ss,它将选择它作为您的 chrome。”缺少什么?

【问题讨论】:

    标签: silverstripe silverstripe-4


    【解决方案1】:

    这里的问题是您将Page 模板和HomePage 模板之间的想法混为一谈。 Page 'chrome' 模板(正如课程所称)驻留在 templates/ 中,因为 Page 类是 not 命名空间的,或者它驻留在 root 命名空间。 另一方面,HomePage命名空间的,这必须反映在模板的路径中。

    • 一个main模板('chrome'),模板应该在templates/SilverStripe/Lessons/
    • Layout 模板应该驻留在同一个库中,但带有一个 Layout 文件夹; templates/SilverStripe/Lessons/Layout

    此信息在课程中出现。

    我知道你很沮丧,但是在找到问题的答案之前散布对错误的恐惧和怀疑并不是一件好事。

    【讨论】:

      【解决方案2】:

      您需要在模板文件夹中创建几个文件夹,如该课所述:

      创建一个名为 templates/SilverStripe/Lessons 的目录。在该目录中,创建另一个名为 Layout/ 的目录。在该目录中,创建 HomePage.ss。完整路径应该是 templates/SilverStripe/Lessons/Layout/HomePage.ss。

      所以你基本上需要将你的文件从 templates/HomePage.ss 移动到 templates/SilverStripe/Lessons/Layout/HomePage.ss

      【讨论】:

      • 这个答案是错误的。 HomePage.ss 在这种情况下是一个布局,而不是 chrome。
      【解决方案3】:

      Silverstripe 有问题,我也遇到了同样的问题。只需切换到 Wordpress。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多