您好我遵循了Silverstripe课程https://www.silverstripe.org/learn/lessons/v4/working-with-multiple-templates-1,甚至尝试从存储库下载代码但是当我尝试创建模板/ HomePage.ss时,Chrome Silverstripe仍然使用Page.ss.很明显,课程说"它首先在主模板/目录中查找此页面的chrome。如果它在那里找到HomePage.ss,它将选择它作为你的chrome。"缺少什么?
答案 0 :(得分:4)
这里的问题是您在Page
模板和HomePage
模板之间混淆了这个想法。
Page
'chrome'模板(当课程调用它)位于templates/
,因为Page
类不是命名空间,或者它位于< em> root 名称空间。
另一方面,的HomePage
类是命名空间,这必须反映在模板的路径中。
main
模板('chrome'),模板应位于templates/SilverStripe/Lessons/
Layout
模板应该位于同一个基础中,但是应该包含一个Layout文件夹; templates/SilverStripe/Lessons/Layout
本课程中提供了 的信息。
我知道你很沮丧,但在找到问题的答案之前传播恐惧的不确定性和对错误的怀疑并不是一件好事。
答案 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。