2010-04-16 11 views
2

Voici ce que j'ai:Comment puis-je obtenir le DateTime qu'une dernière page a été publiée dans Sitefinity?

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 

Malheureusement .DateModified retourne la dernière fois qu'une page a été modifiée au lieu de la date de dernière publication. J'ai regardé the documentation mais je n'ai pas trouvé de propriétés correspondantes.

Répondre

1

Voici le code que je me sers maintenant, il semble obtenir la date correcte sur Publier:

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 

Je ne sais pas s'il y a une meilleure façon de le faire bien.

1

Pour la version 10, je suis en utilisant le code suivant:

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"); 

Je souhaite qu'il y est une voie à suivre plus directement à faire ..