Comment utiliser la localisation implicite avec MVCSiteMap?
-
25-09-2019 - |
Question
Je suis en train d'utiliser la localisation de implict avec MVCSiteMap mais il ne fonctionne pas.
Voici mon exemple Web.Sitemap
:
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-2.0" enableLocalization="true">
<mvcSiteMapNode title="Home" controller="Home" action="Index" changeFrequency="Always" updatePriority="Normal">
<mvcSiteMapNode resourceKey="Products" title="Products" controller="Products" action="Index">
<mvcSiteMapNode title="Edit" controller="Products" action="Edit" />
</mvcSiteMapNode>
<mvcSiteMapNode title="Categories" controller="Categories" action="Index" />
<mvcSiteMapNode title="Suppliers" controller="Suppliers" action="Index" />
</mvcSiteMapNode>
</mvcSiteMap>
Je resourceKey="Products"
dans le plan du site ci-dessus et un Products.title
correspondant dans le fichier de Web.sitemap.resx
, à l'intérieur du dossier App_GlobalResources
. Suivi les instructions suivantes: http://msdn.microsoft.com/ fr-fr / bibliothèque / ms178427 (VS.80) .aspx
Qu'est-ce que je manque ici?
Modifier
La solution
a été abordée dans la dernière version (au moment de cette écriture, la version 2.2.1) de MvcSitemapProvider grâce au propriétaire du projet, Maarten Balliauw!
localisation implicite de MvcSitemapProvider est presque identique à celle du SiteMapProvider par défaut ( voir Comment: Localize Les données du site-carte ). La seule différence est que la mise en place <siteMap enableLocalization="true">
dans le fichier sitemap lui-même, vous devez configurer dans le fichier Web.Config
( comme décrit ici ).
Autres conseils
Vous devez accéder au titre de l'élément de menu à partir du fichier de ressources dans votre MvcSiteMapNode
<mvcSiteMapNode title="$resources:MenuLocaliSations,Dashboard" controller="Dashboard" action="Index" changeFrequency="Always" updatePriority="Normal">