在我的网站上查看草稿页面/内容时,是否有一种简单的方法来识别草稿内容?我希望能够识别草稿内容,并将其风格与已发布的内容不同。
我希望能找到这样的东西:
<% if $status == 'draft' %>
...
<% end_if %>发布于 2016-03-13 00:51:55
SilverStripe页存储在SiteTree和SiteTree_Live表中。前一个表包含内容草稿(内部称为Stage阶段),后者包含已发布的内容(Live )。SiteTree_versions表包含页面的所有修改版本。
当您在生产中请求页面时,默认情况下它是从Live读取的。当您在CMS中看到预览时,您可以在阶段之间切换。
您可以按以下方式获得版本阅读阶段
<% if $CurrentReadingMode = 'Stage.Stage' %>
Draft content
<% end_if %>
<% if $CurrentReadingMode = 'Stage.Live' %>
Published content
<% end_if %>发布于 2016-03-15 07:43:04
您可能会看到https://github.com/jonom/silverstripe-betternavigator模块,它在右上角显示了一个漂亮的红色(草稿)或绿色(活动)状态栏(以及一个方便的菜单,例如编辑此页面):

只需使用composer安装它,并将$BetterNavigator放在模板中的某个地方即可。如果您的网站使用缓存,请确保将BetterNavigator的输出排除在外。
您还可以配置它,以便在您处于dev模式或登录时只显示它。
我通常使用这样的方法来避免在开发模式下向每个人展示它:
<% if $CurrentUser %>
$BetterNavigator
<% end_if %>https://stackoverflow.com/questions/35959019
复制相似问题