Breadcrumb med hjælp af SiteMapNode og SiteMapProvider

Tags:    asp.net c# sitemapnode sitemapprovider umbraco

Hej alle,

Jeg forsøger at lave mig en breacrumb ved hjælp af et SiteMap og StaticSiteMapProvider i ASP.NET. Indtil videre er det lykkedes mig at når jeg er på forsiden så bliver forsiden vist i min brødkrummesti.

Jeg benytter Umbraco som CMS og det betyder at min SiteMapProvider traverser mit indholdstræ for at kunne repræsentere den træstruktur mine sider ligger i. På forsiden virker min brødkrumme stå fint (den viser Frontpage), men når jeg bevæger mig til en underside af min forside (en child node til frontpage) får jeg at vide at CurrentNode ikke er en del af mit sitemap, selvom når jeg følger "indexeringen " så bliver den tilføjet til den interne collection.

Min SiteMapProvider ser ud som følgende
Fold kodeboks ind/udCSharp kode 


Min adapter til udskrivning af brødkrummestien:
Fold kodeboks ind/udCSharp kode 


Det irreterer mig grænseløst efterhånden hvorfor den påstår den ikke er en del af mit sitemap, når det ser ud til den bliver tilføjet korrekt. Nogen der har nogle forslag?

Edit
Skal lige også nævne at min provider er registret i web.config'en.

Eksempel på min egen SiteMapNode type
Fold kodeboks ind/udCSharp kode 


Fold kodeboks ind/udCSharp kode 




Indlæg senest redigeret d. 07.10.2012 18:42 af Bruger #6559
4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Når nu du bruger Umbraco, er der så en grund til at du ikke bruger XSLT eller Razor til dette?



På nuværende tidspunkt ville der ikke være noget i vejen for at lave det med hjælp af en Razor macro. Dog tror jeg ikke det rigtigt ændrer noget ved at den siger CurrentNode er lig null på min sitemapprovider, når jeg besøger undersiden til min forside.

Edit
Jeg har lige for sjov prøvet at lave den med en simple razor macro, og her ser det ud til at virke. Så det må være i min adapter, jeg gør noget forkert. Hvis der ikke kommer en løsning på dette, så må jeg jo bare køre med Razor macro'en. Jeg siger tak for det so far :)



Indlæg senest redigeret d. 07.10.2012 20:55 af Bruger #6559
Jeg har ikke et bud på hvor eller hvorfor det går galt, ved bare at kigge på koden - men fint at det virker med en razor macro :)



Jeg var nok lige hurtigt nok ude... Det virker, men jeg tænkte ikke lige videre over det. I Umbraco med en razor macro, der kan man få direkte adgang til sin Model (sin node), men dette er ikke en SiteMapNode, men sin Umbraco node. Så den breadcrumb jeg har lige nu bruger ikke mit sitemap. Så... Jeg står egentlig stadigvæk med en ikke helt god løsning.

Edit:
Jeg fandt ud af hvorfor den klagede over at min Umbraco content side ikke var i mit sitemap. Det var af den simple grund at i sitemap'et stod min side til at have URL'en "/en-gb/about/" og jeg havde tastet "/en-gb/about" hvilket ikke er det samme (åbenbart). Så problemet lå ikke i koden, men viden omkring hvordan sitemappet fungerer :)



Indlæg senest redigeret d. 13.10.2012 12:18 af Bruger #6559
t