Avatar billede Sanne Praktikant
16. april 2005 - 09:40 Der er 17 kommentarer og
1 løsning

Bread crumb trail

Jeg har et website, der (stadig) er opbygget i tabeller. Jeg vil gerne have indsat et bread crumb trail, så brugeren visuelt kan orientere sig om, hvor han/hun er.

Er der nogen, der ligger inde med koden til et bread crumb trail? Og hvordan placerer jeg koden, så jeg selv kan bestemme i hvilken celle i tabellen, at brødkrummerne skal vises?
Avatar billede barklund Nybegynder
16. april 2005 - 09:44 #1
Det har vel næppe noget med javascript at gøre. Det kræver jo, at man kender strukturen i hele dit website at lave. Man kan ikke automatisere den slags i javascript "generelt".
Avatar billede Sanne Praktikant
16. april 2005 - 09:49 #2
Det har du muligvis ret i, men her http://eksperten.dk/spm/535574 er det dog angivet, at der er tale om javascript.
Avatar billede barklund Nybegynder
16. april 2005 - 09:52 #3
Det kræver at dit website er bygget efter en struktur som:

domæne.dk/ - Forside
domæne.dk/noget_her/ - underside med titel "Noget her"
domæne.dk/noget_her/andet_her - og så videre.

Men så ved man jo også en del om dit websites struktur - og så kan det også laves i JavaScript.

--
Morten Barklund
Avatar billede lauer Nybegynder
16. april 2005 - 09:53 #4
Der er jo ikke nogen direkte kode til en breadcrumb - men ideen er ret simpel.
Du udskriver hvilken side brugeren er på, derefter vælger du den side som har parentid, og så videre, indtil du får en parentid som er 0.
Avatar billede Sanne Praktikant
16. april 2005 - 09:58 #5
Mit website er bygget op med en struktur, således at default-siden ligger i roden, mens andre menupunkter har hver deres mappe og evt. undermapper. Jeg har absolut ikke forstand på javascript, så derfor er det langt mere konkret hjælp, jeg har brug for.
Avatar billede barklund Nybegynder
16. april 2005 - 10:09 #6
Men du kan ikke få javascript til at skrive:

Forside :: Side om noget andet :: Side om noget tredje :: Her er du

Med mindre javascriptet på en eller anden måde kan finde ud af, at "Side om noget andet" rent faktisk hedder dette. Og det javascriptet jo ikke gætte sig til, bare hvis den ved, at siden har adressen "domæne.dk/side1" - så kan javascript kan skrive for eksempel:

Forside :: Side1 :: Underside1 :: Her er du

Og ikke andet.

--
Morten Barklund
Avatar billede barklund Nybegynder
16. april 2005 - 10:09 #7
"så kan javascript kUn skrive for eksempel"
Avatar billede Sanne Praktikant
16. april 2005 - 10:44 #8
Den skal jeg lige have én gang til. Hvis vi nu siger, at jeg har default.htm i roden, side1.htm i en mappe kaldet Side1, side2.htm i en mappe kaldet Side2, og en side 2a.htm i en undermappe til Side2 kaldet Side2a...hvad er det så jeg kan og ikke kan?
Avatar billede barklund Nybegynder
16. april 2005 - 10:51 #9
Så kan du fra side2a.htm få javascript til at skrive:

Forside > Side2 > Du er her

Og Side2 kan den kun navngive udfra url'en alene - og så skal htm-siden i den mappe hedde det samme som mappen. Altså Side2/side2.htm og ikke Side2/default.htm eller tilsvarende. Eller du kan kalde alle filer for default.htm og kun bruge mapperne til navigation.
Avatar billede Sanne Praktikant
16. april 2005 - 10:55 #10
Det, vil jeg mene, er bedre end ingenting. Hvilket script er det så, at jeg skal sætte ind, og hvor skal det indsættes? Jeg vil nemlig gerne have brødkrummerne til at placere sig i en bestemt celle i tabellen.
Avatar billede barklund Nybegynder
16. april 2005 - 11:12 #11
Jeg har lavet en fin fil, der i hvert fald virker lokalt på min computer:

<html>
<head>
<script type="text/javascript">
function printBreadCrumb(separator, style) {
    if (style) {
        style = " style='" + style + "'";
    } else {
        style = "";
    }
    var href = document.location.href;
    var start = href.indexOf("/",10);
    var endofpath = href.indexOf("?",start)
    if (endofpath == -1) endofpath = href.length;
    var end = href.lastIndexOf("/", endofpath);
    var path = href.substring(start + 1, end);
    var parts = path.split("/");
    document.write("<a href='/'>Forside</a>");
    var accu_path = "/";
    for (var i = 0; i < parts.length; i++) {
        accu_path += parts[i] + "/";
        document.write(separator + "<a href='" + accu_path + "'>" + unescape(parts[i]) + "</a>");
    }
    document.write(separator + "Du er her");
}
</script>
</head>
<body>
<div>Her kommer bread crumb liste:<br/><br/>
<script type="text/javascript">printBreadCrumb(" :: ");</script>
</div>
</body>
</html>

--
Morten Barklund
Avatar billede barklund Nybegynder
16. april 2005 - 11:15 #12
Det er altså lavet ud fra, at man kun bruger mapperne og kun har default.htm filer.
Avatar billede Sanne Praktikant
16. april 2005 - 11:20 #13
Mange tusind tak :o)
Jeg vil prøve at se, om jeg kan få det til at virke på min computer også.

Vil du ikke have point, siden du kun poster indlæg som kommentar?
Avatar billede barklund Nybegynder
16. april 2005 - 11:22 #14
Joda, jeg venter blot til, at du finder løsningen acceptabel :)
Avatar billede Sanne Praktikant
16. april 2005 - 11:26 #15
Ok - men så får du lov at vente lidt endnu, til jeg har fundet ud af, om jeg kan få det til at virke ;o)
Avatar billede barklund Nybegynder
16. april 2005 - 11:35 #16
Selvfølgelig ;)
Avatar billede Sanne Praktikant
17. april 2005 - 12:01 #17
Mageløst - det virker sq ;o)

Du er hermed udnævnt til Dagens Helt :o)

/Sanne
Avatar billede barklund Nybegynder
17. april 2005 - 14:49 #18
Tark for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester