Hei, mietin tässä mikä olisi helpoin tapa toteuttaa navigaatio polkuineen tähän tyyliin: http://i48.tinypic.com/wmc9zs.png eli listattaisiin sivut joilta ollaan tultu tämän hetkiselle sivulle. itselläni ei kauheasti ole php kokemusta joten onnistuuko tälläinen ihan aloittelijalta?
Tarkoitatko, kuten Ohjelmointiputkassa Keskustelu: ...: ...
?
Macro kirjoitti:
Tarkoitatko, kuten Ohjelmointiputkassa
Keskustelu: ...: ...
?
Kyllä, en itse huomannutkaan että täällä on käytössä tälläinen :)
Eihän tässä mitään aiempia sivuja listata, vaan keskustelussa näkyvät aina linkit keskustelualueelle ja tiettyyn kategoriaan.
Jos haluat oikeasti aiempia sivuja silloinkin, kun ne eivät liity mitenkään nykyiseen sijaintiin (esim. "Oppaat > C++-opas > Koodivinkki: XYZ > Keskustelu: Navigaatio"), tallenna niitä evästeeseen (tai sessioon, jos käytät sellaista).
<?php // Tämä koodi on täysin ilmainen, eikä sen toiminnasta anneta takuuta. $nykyinen = "Keskustelu: Navigaatio"; $maara = 3; // Haetaan vanhat tai alustetaan lista tyhjäksi. $sivut = null; if ($_COOKIE['sivut']) $sivut = unserialize($_COOKIE['sivut']); if (!is_array($sivut)) $sivut = array(); // Lisätään nykyinen sivu, ellei se ole sama kuin edellinen. if (end($sivut) != $nykyinen) $sivut[] = $nykyinen; // Poistetaan alusta ylimääräiset. $sivut = array_slice($sivut, -$maara); // Tallennetaan uusi lista. setcookie("sivut", serialize($sivut)); // Tulostetaan. echo htmlspecialchars(implode(' > ', $sivut));
Koodi täytyy sijoittaa (tulostusta lukuun ottamatta) aivan sivun alkuun, jotta evästeet toimivat. Muista, että useassa tabissa käytettynä systeemi sekoaa, koska kaikki sivunlataukset lasketaan.
Mä en kyllä kekseillä tuommoista tekisi, sillä se tuntuu sekoittavan vain entisestään käyttäjiä, jotka saapuvat sivulle sivuston ulkopuolelta. Myös Metaliboxin mainitsemat välilehdet sekoittavat ominaisuuden aika totaalisesti.
Parempi olisi tehdä oikeasti sivulle rakenne, jolloin käyttäjät näkevät suoraan minkä sivujen alla kyseinen sivu on. Parhaiten tuommoisen rakentaa "käänteisesti", eli lähtee nykyisestä sivusta "ylöspäin" ja listaa jokaisen sivun esim. taulukkoon. Kun lopuksi päästään sivulle, jolla ei ole isäntäsivua, voidaan tulostaa lista käänteisesti.
Aihe on jo aika vanha, joten et voi enää vastata siihen.