作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我正在处理的网站中,某些内容仅在到达某个日期后才会出现:
public bool IsActive
{
get { return System.DateTime.Now >= this.IssueDate.DateTime; }
}
System.DateTime.Now
无论预览模式如何,始终返回实际的当前日期。我该怎么写才能保证尊重体验栏中设置的日期,但是在正常模式下页面仍然使用
System.DateTime.Now
?
最佳答案
Sitecore 提供了一对属性来帮助解决这种情况:
bool Sitecore.Configuration.State.Previewing
DateTime Sitecore.Configuration.State.PreviewDate
Sitecore.Configuration.State.Previewing
如果预览模式打开,则属性为 true,否则为 false。
Sitecore.Configuration.State.PreviewDate
属性返回
Sitecore.Sites.SiteContext.DisplayDate
,在预览模式下设置为体验栏中的日期。
public bool IsActive
{
get
{
DateTime dateToUse;
if (Sitecore.Configuration.State.Previewing)
{
dateToUse = Sitecore.Configuration.State.PreviewDate;
}
else
{
dateToUse = DateTime.Now;
}
return dateToUse >= this.IssueDate.DateTime;
}
}
关于sitecore - 如何在预览模式下使用预览日期在 Sitecore 中显示特定日期的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16489148/
我是一名优秀的程序员,十分优秀!