Silverstripe没有使用HomePage.ss作为Chrome?

时间:2018-04-28 03:00:00

标签: silverstripe silverstripe-4

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

3 个答案:

答案 0 :(得分:4)

这里的问题是您在Page模板和HomePage模板之间混淆了这个想法。 Page'chrome'模板(当课程调用它)位于templates/,因为Page不是命名空间,或者它位于< em> root 名称空间。 另一方面,HomePage类是命名空间,这必须反映在模板的路径中。

namespace of HomePage

  • main模板('chrome'),模板应位于templates/SilverStripe/Lessons/
  • Layout模板应该位于同一个基础中,但是应该包含一个Layout文件夹; templates/SilverStripe/Lessons/Layout

本课程中提供了 的信息。

Lesson text describing the answer to the question

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

答案 1 :(得分:3)

您需要在模板文件夹中创建一些文件夹,如该课程中所述:

  

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

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

答案 2 :(得分:-4)

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