Как получить DateTime, когда страница последний раз публиковалась в Sitefinity? - PullRequest
2 голосов
/ 16 апреля 2010

Вот что у меня есть:

Dim cmsManager As New Telerik.Cms.CmsManager()
Dim currentNode As Telerik.Cms.Web.CmsSiteMapNode = CType(SiteMap.CurrentNode, Telerik.Cms.Web.CmsSiteMapNode)
Dim currentPage As Telerik.Cms.ICmsPage = currentNode.GetCmsPage()
Dim currentPageId As Guid = currentPage.ID
Dim pageFromDb As Telerik.Cms.IPage = cmsManager.GetPage(currentPageId)

Me.LastUpdateDate = pageFromDb.DateModified

К сожалению .DateModified возвращает последний раз, когда страница была отредактирована, а не когда она была в последний раз опубликована. Я просматривал документацию , но мне не удалось найти соответствующие свойства.

Ответы [ 2 ]

1 голос
/ 11 сентября 2017

Для версии 10 я использую следующий код:

var node = SiteMapBase.GetActualCurrentNode();
var itemVersions = VersionManager.GetManager().GetItemVersionHistory(node.PageId);
var lastPublishedItem = itemVersions.Where(i => i.IsLastPublishedVersion).FirstOrDefault();
var lastPublishedDate = lastPublishedItem.LastModified.ToString("dd MMMM yyyy");

Хотелось бы, чтобы был более простой способ сделать это ..

1 голос
/ 17 апреля 2010

Вот код, который я сейчас использую, похоже, при публикации публикуется правильная дата:

Dim cmsManager As New Telerik.Cms.CmsManager()
Dim currentPageId As New Guid(SiteMap.CurrentNode.Key)
Dim pageFromDb As Telerik.Cms.IPage = cmsManager.GetPage(currentPageId, False)
Dim staged As Telerik.Cms.IStagedPage = pageFromDb.GetVersion(pageFromDb.Version)

Me.LastUpdateDate = staged.DateModified

Я не уверен, что есть лучший способ сделать это.

...