Question

L'utilisation de la navigation gérée (navigation de taxonomie) de SharePoint Server 2013. J'ai une variation de configuration pour 2 langues (EN et FR).

Utilisation du code ci-dessous, j'ai réussi à obtenir l'URL relative du site Peer:

  string url = Variations.GetPeerUrl(SPContext.Current.Web, currentUrl, label.Title);

Par exemple, lorsque je suis dans http://www.sample.com/fr/demo, en utilisant le code ci-dessus, je reçois /fr/pages/demo.aspx

Ce que je veux, c'est le terme de navigation géré ou l'URL conviviale qui est quelque chose comme http:// www.sample.com / fr / démo

Comment peut atteindre cela, quelle est la bonne API que je devrais utiliser ici?

merci

Était-ce utile?

La solution

Agamand,

Premier de l'URL complète, vous devez obtenir l'élément de la liste, à l'aide de spweb.getlistitem

Voir exemple ici:
Obtenez une référence Splistitem à partir d'une URL

que vous pouvez utiliser le fichier suivant pour obtenir des conditions de page:

//retrieve the terms used for the navigation (this can be multiple terms)
IList<NavigationTerm> terms = TaxonomyNavigation.GetFriendlyUrlsForListItem(item, false);

string url = string.Empty;

//check if the pages has terms associated with it
if (terms.Count > 0) {
    //use the GetResolvedDisplayUrl to retrieve the page friendly urls
    url = terms[0].GetResolvedDisplayUrl(string.Empty);

    //Or you can use GetWebRelativeFriendlyUrl
} else {
    //if the page does not have any terms get the normal url
    url = item.File.Url;
}

J'espère que cela aide

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top