Silverstripe没有将HomePage.ss用作Chrome?

Silverstripe没有将HomePage.ss用作Chrome?,silverstripe,silverstripe-4,Silverstripe,Silverstripe 4,大家好,我学习了Silverstripe课程,甚至尝试从存储库下载代码,但当我尝试创建模板/HomePage.ss时,chrome Silverstripe仍然使用Page.ss。显然,课程中说“它首先在主模板/目录中查找此页面的chrome。如果在其中找到HomePage.ss,它将选择它作为您的chrome。”缺少什么?Silverstripe有问题,我也遇到了同样的问题。只需切换到Wordpress。您需要在templates文件夹中创建一些文件夹,如该课程中所述: 创建一个名为templ

大家好,我学习了Silverstripe课程,甚至尝试从存储库下载代码,但当我尝试创建模板/HomePage.ss时,chrome Silverstripe仍然使用Page.ss。显然,课程中说“它首先在主模板/目录中查找此页面的chrome。如果在其中找到HomePage.ss,它将选择它作为您的chrome。”缺少什么?

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

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

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


因此,您基本上需要将文件从templates/HomePage.ss移动到templates/SilverStripe/Lessons/Layout/HomePage.ss

这里的问题是,您将
页面
模板和
主页
模板混为一谈。
Page
“chrome”模板(如本课所称)位于
templates/
中,因为
Page
类没有名称空间,或者它位于根名称空间中。 另一方面,
主页
类是有名称空间的,这必须反映在模板的路径中

  • 一个
    main
    模板(“chrome”),模板应该位于
    templates/SilverStripe/Lessons/
  • 布局
    模板应位于同一个基础中,但带有布局文件夹<代码>模板/银条纹/课程/布局
这一信息在本课程中有所介绍


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

这个答案是错误的。在这种情况下,HomePage.ss是一种布局,而不是chrome。