La navigation de variation et de taxonomie Obtenez une URL amicale
-
10-12-2019 - |
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
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