Navigeren in mappen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter ndshomebrew

Peter ndshomebrew

14/05/2010 23:17:02
Quote Anchor link
moeilijk om uitteleggen
Maar ik heb een keer voor een klant een bestanden systeem gemaakt.
Hierin kan hij/zij bestanden zetten en mappen aanmaken.
Als hij/zij dan in een map komt ziet hij bovenin dit staan:
root/map1/
Alleen hij zou graag willen als de link bijvoorbeeld dit is:
root/map1/map1.2/map1.2.1/
dat hij door middel van het klikken op map1 weer naar map 1 gaat.
(en dit geld dan natuurlijk ook voor map1.2 ;))

Iemand enig idee hoe ik dat zou kunnen doen?
Ik heb al wat geprobeerd met explode en in een array etc. maar dat was geen succes.

P.s. ik hoop dat de titel een beetje goed is ;)
Gewijzigd op 14/05/2010 23:18:19 door Peter ndshomebrew
 
PHP hulp

PHP hulp

27/04/2024 05:27:06
 

14/05/2010 23:46:16
Quote Anchor link
Tja, dat ligt er maar net aan hoe je systeem werkt he. Dan moet je die breadcrumb aanpassen met linkjes, op de manier zoals dat systeem werkt wat jij hebt gemaakt.
Maar ja, jij hebt het gemaakt, dan lijkt mij dat je weet wat je gemaakt hebt en hoe het werkt. Dus ook hoe je het kan aanpassen.


Edit: Je klant kan ergens op een linkie o.i.d. klikken om in die map te gaan zitten. Die manier moet je dus gebruiken.
Je kunt bijvoorbeeld een sessionvariable maakt die een array is die bijhoud hoe diep je klant zit kan je dat mooi gebruiken. Dit betekend wel dat je je hele systeem waarschijnlijk moet ombouwen.
Gewijzigd op 14/05/2010 23:54:52 door
 
Peter ndshomebrew

Peter ndshomebrew

15/05/2010 10:42:19
Quote Anchor link
Ik zal binnenkort even gaan prutsen. maar als ik te veel moet omgooien laat ik het maar gewoon zo als het nu is.
 
Kees V

Kees V

16/05/2010 01:36:41
Quote Anchor link
Mijn oplossing.
In de web-root zet je deze twee bestandjes:
breadcrumbs.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$home
= 'Thuis';
$sep  = htmlentities(' >> ');
$url  = '/';
$dirs = explode('/', $_SERVER['REQUEST_URI']);
$html = '<span class="breadcrumb"><a href="'.$url.'">'.$home.'</a>';
for ($i=1; $i < count($dirs)-1; $i++) {
  $url  .= $dirs[$i].'/';
  $html .= $sep.'<a href="'.$url.'">'.ucfirst(preg_replace('/_|%20/',' ',$dirs[$i])).'</a>';
}

$html .= $sep.'<b><script type="text/javascript">document.write(document.title.replace(/_/g," "))</script></b>';
echo $html.'</span>'."\n";
?>

breadcrumbs.css
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
.breadcrumb {
  font: normal 13px Arial;
  color: #000080;
}
.breadcrumb a:link,
.breadcrumb a:visited,
.breadcrumb a:active {
  text-decoration: underline;
  color: #000080;
}
.breadcrumb a:hover {
  text-decoration: none;
}


Je kunt nu de beide bestandjes als volgt 'includen', ongeacht in welke map je dat wilt doen. Het resultaat is een klikbaar 'kruimelspoor' op de pagina.
elke_pagina.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<html>
  <head>
    <link href="/breadcrumbs.css" rel="stylesheet" type="text/css">
  </head>
  <body>
    <?php include $_SERVER['DOCUMENT_ROOT'].'/breadcrumbs.php'; ?>
  </body>
</html>
Gewijzigd op 16/05/2010 01:39:27 door Kees V
 
Peter ndshomebrew

Peter ndshomebrew

16/05/2010 17:27:53
Quote Anchor link
Bedankt. Ik ga het eens proberen ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.