我最近开始了一项新工作,作为其中的一部分,我继承了一个银线条网站,我相对较新。他们雇用来建立网站的先前开发人员有19种不同的页面类型,我需要直接编辑其中一种。
我已导航到themes/default/templates/layout
并找到了15个.ss
模板,但我需要的模板不存在,目录结构中的其他位置是否可以放置.ss
个文件silverstripe?
答案 0 :(得分:3)
如果您熟悉PHP,请遵循类层次结构的名称,直到Page,因为模板是继承的,就像类继承属性一样。
如果你不熟悉PHP(或基于类的继承编程),那么长话短说:它将默认使用另一个确实存在的模板,可能看看Page.ss
https://docs.silverstripe.org/en/3.3/developer_guides/templates/template_inheritance/
答案 1 :(得分:1)
您可以在其他几个地方找到.ss
模板文件。
首先(您提到的地方):themes/default/templates/layout
第二名: themes/default/templates/
第三: mysite/code/...
- 有时开发人员可能会在此处创建“模板”文件夹,因此它会mysite/code/templates
第四:可能在您正在使用的模块中......
您可以做的另一件事是在您的代码编辑器/ IDE中,仅对.ss
文件进行项目搜索,并找到尚未找到的文件。希望这有助于:)
答案 2 :(得分:0)
快速而肮脏的解决方案:
themes/default/templates/Page.ss
<h1>$ClassName</h1>
从那里,正如其他海报所指出的那样,使用你的O / S的原生“查找”或“搜索”功能(在OS X / Unix / Linux上找到+ grep是你的朋友)并寻找任何$ClassName
打印。例如。如果$ClassName
打印:“HomePage”,那么您将搜索“HomePage.ss”。
正如其他海报也指出的那样,如果找不到匹配的.ss
模板文件,那么您的神秘页面类型默认会使用themes/default/templates/Layout/Page.ss
。你可以覆盖我创建一个名为你的神秘类ala的新文件:themes/default/templates/Layout/MyMysteryClass.ss
瞧,如果你愿意的话,你有能力完全重新设计这个pagetype的布局和设计。