2009-11-25 5 views
1

Dans un code de composant Web, je dois transformer un site Web sharepoint en document pdf. Il y a une extension qui doit être faite, où le document PDF doit seulement obtenir les pages publiées.Comment déterminer si une page de publication dans Sharepoint 2007 est réellement publiée

Donc, j'ai une liste de pages en utilisant le "siteMapnodeCollection" et en obtenant les nœuds enfants etc, comment puis-je vérifier que la page de publication représentée par un nœud est réellement publiée & approuvé?

Merci

Marc

Répondre

1

PublishingPageCollection pages = PublishingWeb.GetPublishingWeb(web).GetPublishingPages(); 
foreach (PublishingPage page in pages) 
{ 
    if(!page.ListItem.File.Level == SPFileLevel.Published) 
     return;
// logic }

Vous pouvez également passer une requête CAML dans la méthode GetPublishingPages(), en mettant les éléments sous le bon état.

3

Voir:

  • Microsoft.SharePoint.Publishing.PublishingPage.IsPublishingPage(listItem)
  • Microsoft.SharePoint.Publishing.PublishingPage.GetPublishingPage(listItem)

et:

  • (pageinstance).ListItem.File.Level (should be "Published")
  • (pageinstance).ListItem.ModerationInformation.Status (should be "Approved")

mise à jour:

La plupart des toiles d'édition sont configurés pour utiliser la modération, mais le vôtre peut pas vous pourriez ne pas avoir à vérifier pour approbation.

Questions connexes