首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SilverStripe草稿内容状态

SilverStripe草稿内容状态
EN

Stack Overflow用户
提问于 2016-03-12 14:41:33
回答 2查看 458关注 0票数 2

在我的网站上查看草稿页面/内容时,是否有一种简单的方法来识别草稿内容?我希望能够识别草稿内容,并将其风格与已发布的内容不同。

我希望能找到这样的东西:

代码语言:javascript
复制
<% if $status == 'draft' %>
...
<% end_if %>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-13 00:51:55

SilverStripe页存储在SiteTreeSiteTree_Live表中。前一个表包含内容草稿(内部称为Stage阶段),后者包含已发布的内容(Live )。SiteTree_versions表包含页面的所有修改版本。

当您在生产中请求页面时,默认情况下它是从Live读取的。当您在CMS中看到预览时,您可以在阶段之间切换。

您可以按以下方式获得版本阅读阶段

代码语言:javascript
复制
<% if $CurrentReadingMode = 'Stage.Stage' %>
    Draft content
<% end_if %>

<% if $CurrentReadingMode = 'Stage.Live' %>
    Published content
<% end_if %>
票数 2
EN

Stack Overflow用户

发布于 2016-03-15 07:43:04

您可能会看到https://github.com/jonom/silverstripe-betternavigator模块,它在右上角显示了一个漂亮的红色(草稿)或绿色(活动)状态栏(以及一个方便的菜单,例如编辑此页面):

只需使用composer安装它,并将$BetterNavigator放在模板中的某个地方即可。如果您的网站使用缓存,请确保将BetterNavigator的输出排除在外。

您还可以配置它,以便在您处于dev模式或登录时只显示它。

我通常使用这样的方法来避免在开发模式下向每个人展示它:

代码语言:javascript
复制
<% if $CurrentUser %>
    $BetterNavigator
<% end_if %>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35959019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档