In SharePoint 2007 (MOSS) la document library, in cui vengono salvate le pagine di publishing, viene nominata in base alla lingua di creazione del sito.

Quindi se ho un sito con template inglese (LCID=1033) si chiamerà Pages, se ho un sito con template italiano (LCID=1040) si chiamerà Pagine e così via.

Per ricavare da codice il nome è sufficiente leggere la risorsa List_Pages_UrlName del resource file cmscode.

C#

string url = "http://sharepoint";
using (SPSite site = new SPSite(url))
{
  using (SPWeb web = site.RootWeb)
  {
    uint lcid = web.Language;
    //Microsoft.SharePoint.Utilities.SPUtility
    string pagesUrlLocalized = SPUtility.GetLocalizedString("$Resources:cmscore,List_Pages_UrlName;", null, lcid);

    Console.WriteLine(web.ServerRelativeUrl + pagesUrlLocalized);
  }
}
Per ottenere il nome della cartella che contiene le liste (Lists) usare:

C#

string pagesUrlLocalized = SPUtility.GetLocalizedString("$Resources:core,lists_Folder;", null, lcid);
In PowerShell diventa:

PowerShell

$w = Get-SPWeb http://sharepoint.sgart.local
$lcid = $w.Language;
$pagesUrl= [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString("`$Resources:cmscore,List_Pages_UrlName;", $null, $lcid);
Write-Output "Pages: $pagesUrl"
Tags:
C#236 Object Model9 PowerShell200 SharePoint498 SharePoint 2007218 SharePoint 2010224 SharePoint 2013137
Potrebbe interessarti anche: