我有一个map = new google.maps.Map(document.getElementById('map'), {
zoom: 6,
center: {lat: 51, lng: 10},
styles: [
{
featureType: "poi",
elementType: "labels",
stylers: [{ visibility: "off" }]
}
]
});
,CMSRepeater
设置为SelectOnlyPublished
。为了实现延迟加载,我有一个web服务,可以为转发器加载更多项目。我尝试过的文档查询(一次一个)如下:
true
在检查由转发器和API生成的Sql查询之后,似乎API在where语句中生成了一些额外的已发布检查(删除这会产生相同的db结果,这将是我的目标)。
额外的where子句是:
var newsItems = tree.SelectNodes()
.Types(pageTypes)
.Path(path)
.Where(whereStatement)
.OrderBy(orderBy)
.CombineWithDefaultCulture(false)
.Page(page, count)
.Columns(columns);
var newsItems = DocumentHelper.GetDocuments()
.Types(pageTypes)
.Path(path)
.Where(whereStatement)
.OrderBy(orderBy)
.CombineWithDefaultCulture(false)
.Page(page, count)
.Published()
.Columns(columns);
所以我的问题是,如何在转发器中包含此子句?我只想发布文档,并且认为转发器上的DocumentCanBePublished] = 1 AND ([DocumentPublishFrom] IS NULL OR [DocumentPublishFrom] <= @Now) AND ([DocumentPublishTo] IS NULL OR [DocumentPublishTo] >= @Now
就足够了。我想我可以将它硬编码到我的WhereCondition中,但这对我来说感觉不对。
答案 0 :(得分:1)
“仅选择已发布”复选框将在后台生成以下语句。
在你的转发器WHERE条件中添加以下声明:
([DocumentCanBePublished] = 1 AND ([DocumentPublishFrom] IS NULL OR [DocumentPublishFrom] <= GETDATE()) AND ([DocumentPublishTo] IS NULL OR [DocumentPublishTo] >= GETDATE()))
您可能认为它很难编码,但它只是配置一个webpart。如果您希望它更具动态性,请在WHERE条件中使用宏来设置GetDate()
方法。