ejickMedlem sedan mars 2001895 inlägg Hej,
jag läste ett inlägg som var postat idag och tog upp $_SERVER['REQUEST_URI']; vilket verkar passa det jag är ute efter. Hur som helst, jag håller på med en hemsida och skulle vilja att den auto-genererar titel och brödsmulor beroende på var den finns. Kan man göra detta enligt exempel adressen är www.domännamn.se/verktyg/slagverktyg/hammare denna genererar sedan:
<title>domännamn - [blue]vertyg[/blue] - [blue]slagvertyg[/blue] - [blue]hammare[/blue]</title>
...
<p>Du är: <a href="/">[blue]Start[/blue]</a> / <a href="../../verktyg">[blue]verktyg[/blue]</a> /<a href="../slagverktyg">[blue]slagverktyg[/blue]</a> / [blue]hammare[/blue]</p>
Funktionen jag söker skriver alltså ut det i blått beroende på adressen. Skulle adressen vara www.domännamn.se/verktyg/mejslar/skruvmejsel som exempel skulle resultatet bli:
<title>domännamn - [blue]vertyg[/blue] - [blue]slagvertyg[/blue] - [blue]hammare[/blue]</title>
...
<p>Du är: <a href="/">[blue]Start[/blue]</a> / <a href="../../verktyg">[blue]verktyg[/blue]</a> /<a href="../slagverktyg">[blue]mejslar[/blue]</a> / [blue]skruvmejslar[/blue]</p>
Undrar alltså hur man gör detta samt möjlighet att lägga till mapp-länkar.
Tacksam för svar
Vad vill du göra? Du har en mappstruktur som se ut så? med mappen? och allt? eller?
Om så använda $_SERVER['PHP_SELF'] då kommer du att får en sträng med alla mappar + filen som du är på fårn roten, Tex om jag är på google.se/minhemisda/sida1.php
så får du ut /minhemisda/sida1.php använda sedan str_replace("/" , " / ", $url);
Vissa ändringa behövs göra för nu lär du också får med / index.php
Om det alltid är / index.php använda substr($str, 0, strlen($str) - strlen( "/ index.php"));
ejickMedlem sedan mars 2001895 inlägg Hm alltså jag är intresserad av att kunna använda de mappnamn som förekommer i titeln och som brödsmulor (breadcrumbs). Jag hittade ett script som fungerade delvis som jag ville, men här skriver den bara ut det direkt, skulle vilja att det sparades i någon varibel istället så jag själv kan välja var jag vill skriva ut det samt att skriva ut det på flera ställen. Det skulle även vara intressant om man kunde få en viss mapps namn, den andra eller den tredje etc. och skriva ut.
Känner mig inte så speciellt vass på att förklara, men med bifogat script kanske ett och annat klarnar :)
<?PHP
function crumbs($path,$root='') {
global $page_title;
$path = preg_split('%\/%', $path, -1, PREG_SPLIT_NO_EMPTY);
$trail = $root . '/';
if (count($path) <= 1) {
return 'Home';
}
else {
echo "<a href=\"$trail\" title=\"Home Page\">Home</a>\n";
for($i=0; $i<(count($path)-1); $i++) {
// more links needed to be created
$trail .= $path[$i] .'/';
$title = ucwords(str_replace('_', ' ', $path[$i]));
echo "| <a href=\"$trail\" title=\"$title\">$title</a>\n";
}
}
return true;
}
crumbs($_SERVER['PHP_SELF']);
?>
Är detta bäter? Svårt att göra en kod, när man inte rikit vet hur du vill använda den ;)
<?PHP
// function crumbs($path, $root='') {
$path = "FIG/SIDA";
$path = preg_split('%\/%', $path, -1, PREG_SPLIT_NO_EMPTY);
$trail = $root . '/';
if (count($path) <= 1) {
return 'Home';
}
else {
$linkstr = "<a href=\"$trail\" title=\"Home Page\">Home</a>\n";
for($i=0; $i<(count($path)-1); $i++) {
// more links needed to be created
$trail .= $path[$i] .'/';
$title = ucwords(str_replace('_', ' ', $path[$i]));
$linkstr .= "| <a href=\"$trail\" title=\"$title\">$title</a>\n";
$arry[$title]=$trail;
}
}
echo $linkstr;
// Sparas också som en arry[] med namn=>länk
?>
ejickMedlem sedan mars 2001895 inlägg Inte för att jag får ditt script att fungera, men tanken är väl att det ska skriva ut:
1) verktyg - slagverktyg - hammare
2) <a href="../../verktyg">verktyg</a> - <a href="../slagvertyg">slagverktyg</a> - hammare
OK, hur mycket php kan du?
Testa detta då?
<?PHP
// function crumbs($path, $root='') {
$path = str_replace("/index.php" , "", $_SERVER['PHP_SELF']);
$path = preg_split('%\/%', $path, -1, PREG_SPLIT_NO_EMPTY);
$trail = $root . '/';
if (count($path) <= 1) {
return 'Home';
}
else {
$linkstr = "<a href=\"$trail\" title=\"Home Page\">Home</a>\n";
$titelstr = "Home";
for($i=0; $i<(count($path)-1); $i++) {
// more links needed to be created
$trail .= $path[$i] .'/';
$title = ucwords(str_replace('_', ' ', $path[$i]));
$linkstr .= "- <a href=\"$trail\" title=\"$title\">$title</a>\n";
$titelstr .= "- $title";
}
}
echo $linkstr;
echo "<hr>";
echo $titelstr ;
?>
Så här skriver den ut när jag är på denna ardessen http://127.0.0.1/travian/defult/temp.php
<a href="/" title="Home Page">Home</a>
- <a href="/travian/" title="Travian">Travian</a>
- <a href="/travian/defult/" title="Defult">Defult</a>
<hr>Home- Travian- Defult
ejickMedlem sedan mars 2001895 inlägg Ah, ser mycket bra ut. Precis vad jag letade efter! Tackar!
Ang. mina kunskaper i PHP så har jag väl inte så jättekoll ;)
Ok, bra att man kan hjälpa, har själv en fråga om regular expression ute nu, inget svar än :( är för den delen ny här
Mäk tråden som avklarade:)