2013-12-12 88 views
1

出於某種原因,在執行?flush = all之後,某種頁面類型無法找到其默認模板。我發現在將showtemplate = 1附加到URL後,它不會加載它的模板文件。轉儲的原始模板沒有顯示默認模板。Broken SilverStripe Template

引擎收錄:http://pastebin.com/uMLefAsP

我希望有人能指出我朝着正確的方向,因爲我不知道從哪裏開始調試。

由於1月

+0

缺少模板的名稱是什麼?它在哪個文件夾中? – colymba

+0

它在主題文件夾中,與所有模板相同。所有其他模板目前工作得很好,只是這個特定的文件,我有一個問題。 你可以看到它住在這裏: 工作 - > [鏈接](http://ns1.dmsf.edu.ph/beta/index.php/) 工作 - > [鏈接](http:// ns1。 dmsf.edu.ph/beta/index.php/academic) 不工作 - > [鏈接](http://ns1.dmsf.edu.ph/beta/index.php/community) –

+0

我忘了,名字該模板是:CommunityExtensionPage.ss –

回答

1

首先,我要問:有沒有實際上是一個名爲「CommunityExtensionPage」網頁類型? PageTypes需要與所需的模板名稱相同,才能自動獲取模板。

您似乎有兩個模板文件「CommunityExtensionPage.ss」。一個在「templates/CommunityExtensionPage.ss」,另一個在「templates/Layout/CommunityExtensionPage.ss」

查看這兩個文件的內容將非常有用。在查看「模板/佈局」之前,SilverStripe將在「模板」目錄的頂層查找「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」的內容將不會呈現。