这是.ss模板文件:
<ul>
<% control Menu(1) %>
<li><a href="$Link">$MenuTitle</a></li>
<% end_control %>
</ul>
<div>
<h1>$Title</h1>
<div>Date : $Date.nice</div>
$layout
$Content
</div>
这是php文件:
class ArticlePage extends Page {
static $db = array(
'Date' => 'Date',
);
private static $has_one = array(
'SingleImage' => 'Image'
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Content.Main', new DateField('Date'), 'Content');
$fields->addFieldToTab(
'Root.Upload',
$uploadField = new UploadField(
$name = 'SingleImage',
$title = 'Upload a single image', "Content"));
return $fields;
}
}
页面上没有显示日期和图像。
答案 0 :(得分:0)
这可以是任何数量的东西。
可能是您没有在CMS中正确设置页面类型。
可能是您没有刷新模板缓存。
为此,请将?flush=all
添加到您的网址末尾。
可能你没有完成上述任何一项,也没有完成数据库构建。
要执行此操作,请访问yoursite/dev/build
。
可能是您没有正确命名模板。它必须镜像php类名(ArticlePage.ss)
可能你没有把它放在正确的位置。它必须位于所选主题或项目文件夹中的模板文件夹中。重新定位文件后需要刷新(见上文)。
如果您使用主题,则可能是您没有选择正确的主题。请参阅相关文档。
可能是因为你没有勤勉地使用你的代码。格式化日期的点方法是.Nice
,而不是.nice
。正如你所描述的那样,$Date.asdf
也不会显示任何结果。如果没有合理的输出值,模板变量将无提示失败。
与上述类似 - 布局变量为$Layout
,而不是$layout
(尽管这与此特定问题无关)。 $Layout
也仅适用于“主要”模板(位于“模板”库中,而不是“布局”子文件夹中。)
如果以上所有检查结果,那么可能只是您还没有通过CMS输入任何信息。当然,您必须先完成此步骤才能显示任何内容。