Peter Anskjær <peter@_fjern_dette_nskjaer.dk> wrote:
> Derfor vil jeg høre om der er en af jer der kan skubbe mig lidt i den
> rigtige retning med en tutorial eller andet der forklarer lidt om at
> autogenerere et sitemap.
Hmmm - det er egentlig en meget interessant problemstilling, men jeg er ikke
sikker på, at der findes en let og elegant løsning på den. Jeg har dog
umiddelbart to idéer, som du eller andre måske kan arbejde videre med.
· Sitemap som en orienteret graf
Du kan i princippet betragte siderne på dit site som en række punkter med
pile imellem i form af links. Set ud fra den synsvinkel kan et sitemap
betragtes som et kort, der afbilleder alle disse sider og pile. For at
indsamle den nødvendige mængde information til at lave sådan et kort, kunne
du parse din hovedside for links til andre sider på dit site, parse hver af
de sider, du finder etc. Når du så har en datastruktur, der indeholder
samtlige sider på dit site med dertilhørende linkede sider, mangler du jo
"bare" en hensigtsmæssige måde at fremstille den på. Idéen indeholder også
en masse andre problemer indenfor grafteori så som behandling af loops etc,
og så vil det også være ret krævende at genere sitemappet, men det burde
kunne lade sig gøre.
· Sitemap efter biblioteksstruktur
Hvis du organiserer din side i en passende biblioteksstruktur, kunne du
parse strukturen og benytte den som udgangspunkt for dit sitemap. Sider i
roden er på højeste niveau i hierarkiet og herefter følger sider i
undermapper, sider i underundermapper etc. Du får dog brug for en måde at
indikere hvilke mapper, der hører under en given side, og idéen holder ikke
rigtig, hvis du begynder at lade en sides indhold variere i forhold til
eksterne variable. Du nævnte at du ikke benyttede database endnu, men det
kunne jo komme.
Du har generelt også brug for en metode til at finde titlen på en side, som
du kan bruge på kortet, men det kan jo gøres ud fra filenavnet, ved at parse
siden etc.
Det var vist mine 25 øre.
--
Med venlig hilsen / Regards
Kasper Garnæs
http://kasper.garnaes.dk