Come abbiamo accennato, la generazione dei menu e delle "molliche di pane" avviene automaticamente. Perché il meccanismo funzioni, bisogna però indicare al motore ASP.NET quali sono le pagine che compongono il sito e quali sono le relazioni tra loro. Dobbiamo cioè definire la mappa del sito.
Se navighiamo il sito vediamo che le pagine tra loro sono organizzate in modo gerarchico e che questa gerarchia viene evidenziata dalle breadcrumbs.
Questa mappa del sito, viene descritta nel file web.sitemap
. Nella sitemap ogni pagina è un nodo. Ogni nodo ha associato un file con una pagina di contenuto (url
) un nome (title
), ma, cosa più importante, ogni nodo può contenere altri nodi, il che stablisce l'ordine gerarchico.
Contenuto del file "web.sitemap"
<?xml version="1.0" encoding="utf-8" ?>
<siteMap>
<siteMapNode title="Home" url="Default.aspx">
<siteMapNode title="Resume" url="Resume.aspx" />
<siteMapNode title="Links" url="Links.aspx" /> <!-- nodo finale -->
<siteMapNode title="Albums" url="Albums.aspx" > <!--inizio nodo "Albums"-->
<siteMapNode title="Photos" url="Photos.aspx" > <!--inizio nodo "Photos" -->
<siteMapNode title="Details" url="Details.aspx" /> <!-- nodo finale -->
</siteMapNode> <!-- fine nodo "Photos"-->
</siteMapNode> <!-- fine nodo "Albums"-->
<siteMapNode title="Register" url="Register.aspx" />
<siteMapNode title="Manage" url="Admin/Albums.aspx" >
<siteMapNode title="Photos" url="Admin/Photos.aspx" >
<siteMapNode title="Details" url="Admin/Details.aspx" />
</siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMap>
Per modificare il menu, quindi, è sufficiente modificare il file della mappa del sito. Automaticamente verranno aggiornati tutti i contenuti. Supponiamo ad esempio di convertire tutti gli attributi title
in italiano, all'interno del web.sitemap
. Tornati sul sito troveremo tutte le voci di menu aggiornate.
Ci sono alcune voci della sitemap che non abbiamo commentato, si tratta delle pagine accessibili dall'amministrazione (il nodo "Manage"), che vedremo nelle prossime lezioni.