novembre
2011
Post original : http://bertrandvergnault.sharepoint.com/blog/Lists/Billets/Post.aspx?ID=7
Pour modifier programmatiquement le titre et la description d’une webpart présente dans un site SharePoint, il faut pouvoir l’atteindre depuis la galerie de webpart.
Cette galerie de webpart est accessible depuis les paramètres du site :
L’idée est donc toute simple : aller récupérer l’item de cette liste contenant les fichier “.dwp” ou “.webpart” correspondant aux webparts. Une fois l’item souhaité récupéré, il suffit d’en modifier les métadata comme bon nous semble.
Dans l’exemple qui suit, j’ai souhaité modifier les métadata de la webpart « Colleagues » présente nativement dans SharePoint 2010. Celle-ci permet de visualiser la liste de ses collègues (partie Réseau Social de SharePoint).
using (SPSite site = new SPSite(mysiteUrl)) { using (SPWeb web = site.OpenWeb()) { SPList wpList = site.GetCatalog(SPListTemplateType.WebPartCatalog); SPListItem colleagueItem = null; foreach (SPListItem item in wpList.Items) { if (item["LinkWebPart"].ToString().Equals("Colleagues.dwp")) { colleagueItem = item; break; } } if (colleagueItem != null) { colleagueItem.Properties["vti_title"] = "Contacts"; colleagueItem.Properties["vti_cachedtitle"] = "Contacts"; colleagueItem.Properties["WebPartDescription"] = colleagueItem["WebPartDescription"] .ToString().Replace("colleague", "contact").Replace("colleagues", "contacts"); colleagueItem.SystemUpdate(false); } } }
Voilà le résultat lorsque l’utilisateur souhaite ajouter la webpart dans une page :