silverstripe Sitetree onAfterWrite - renderWith错误:找不到模板

时间:2013-11-26 17:52:11

标签: templates silverstripe

从页面内容自动生成pdf我希望在Page Class中使用onAfterWrite中的renderWith函数(稍后使用DOMPDF,PDF将从返回的HTML生成):

public function onAfterWrite() {
    parent::onAfterWrite();
    $this->renderPdf();
}
public function renderPdf() {
    return $this->renderWith(array('Pdf'));
}

保存页面时总是会返回此错误:在主题'mytheme'中找不到这些模板:Pdf.ss

模板确实存在,并通过模板调用函数renderPdf完美地工作。这有点奇怪。 (第3.1.1节)

非常感谢, 弗洛里安

编辑:也许它与3.1有关,我刚刚在3.0.5中测试过。没有任何问题。在干净的3.1.2安装中,我能够重现错误。

1 个答案:

答案 0 :(得分:1)

您的模板位于哪里? 您是否尝试将其放在“模板”文件夹下,而不是“布局”或“包含”下? 在您的情况下,我会尝试在此处移动该文件: /themes/mytheme/templates/Pdf.ss 由于您要求使用独立模板(例如,不在“页面”旁边),因此.ss文件应作为“根”模板访问,而不是布局模板。