Je souhaite que certains nœuds de mon fichier Mvc.sitemap soient visibles uniquement dans le sitemap de Google. Il n'est pas nécessaire de les afficher dans le menu.
Y at-il un moyen que je peux atteindre cela?
J'ai probablement besoin d'une manière ou d'une autre de jouer avec l'attribut visibilité
Des pensées?
Réponses:
2 pour la réponse № 1Comme décrit dans le Visibilité avancée des nœuds sur le wiki de GitHub, vous devez remplacer le fournisseur de visibilité par FilteredSiteMapNodeVisibilityProvider et ajouter la "visibilité" à attributsToIgnore:
<siteMap defaultProvider="MvcSiteMapProvider" enabled="true">
<providers>
<clear />
<add name="MvcSiteMapProvider"
type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider"
...
attributesToIgnore="visibility"
...
siteMapNodeVisibilityProvider="MvcSiteMapProvider.FilteredSiteMapNodeVisibilityProvider, MvcSiteMapProvider"
/>
</providers>
</siteMap>
Ceci fait, vous devez ajouter l'attribut de visibilité à tous les nœuds que vous souhaitez masquer. L'attribut doit être défini sur:
<mvcSiteMapNode title="Only in SiteMap" ... visibility="XmlSiteMapResult,!*" />