/ / Comment rendre MvcSitemapNode visible uniquement dans le sitemap de Google mais pas dans le menu - asp.net-mvc-3, mvcsitemap

Comment rendre MvcSitemapNode visible uniquement dans Google sitemap mais pas dans le menu - asp.net-mvc-3, mvcsitemap

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 № 1

Comme 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,!*" />