Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Navigaatio polkuineen

efteri [12.01.2010 18:43:28]

#

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?

Macro [12.01.2010 18:47:12]

#

Tarkoitatko, kuten Ohjelmointiputkassa Keskustelu: ...: ...?

efteri [12.01.2010 18:54:11]

#

Macro kirjoitti:

Tarkoitatko, kuten Ohjelmointiputkassa Keskustelu: ...: ...?

Kyllä, en itse huomannutkaan että täällä on käytössä tälläinen :)

Metabolix [12.01.2010 19:18:25]

#

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.

Lebe80 [12.01.2010 20:12:43]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta