破碎的SilverStripe模板

时间:2013-12-12 00:27:29

标签: php silverstripe

出于某种原因,在执行?flush = all之后,某个页面类型无法找到它的默认模板。我发现在将showtemplate = 1附加到URL后,它没有加载它的模板文件。转储的原始模板不显示默认模板。

Pastebin:http://pastebin.com/uMLefAsP

我希望有人能指出我正确的方向,因为我不知道从哪里开始调试。

谢谢,Jan。

1 个答案:

答案 0 :(得分:1)

首先,我要问:实际上是否有一个名为“CommunityExtensionPage”的PageType?需要将PageTypes命名为与所需模板相同的名称,以便自动获取模板。

您似乎有两个模板文件“CommunityExtensionPage.ss”。一个在“templates / CommunityExtensionPage.ss”,一个在“templates / Layout / CommunityExtensionPage.ss”

查看两个文件的内容会很有用。在查看“模板/布局”之前,SilverStripe将在“templates”目录的顶层查找“CommunityExtensionPage.ss”。

如果找到“templates / CommunityExtensionPage.ss”,它还会尝试查找“templates / Layout / CommunityExtensionPage.ss”并将其渲染到$ Layout模板变量中。否则,它将使用默认的“templates / Page.ss”并请求“templates / Layout / CommunityExtensionPage.ss”

您的“templates / CommunityExtensionPage.ss”模板是否包含对$ Layout的引用?如果没有,则不会呈现“templates / Layout / CommunityExtensionPage.ss”的内容。