Pfadangabe??

lp-netzwerg

Mitglied
Wie macht man eigentlich so Pfadangaben wie hier im Forum z.B.:


Tutorials.de > Programming-Platform > PHP


Aber so, dass man dass nicht in jeder datei angeben muss.

Ich hab mir das zwar schon überlegt mit arrays aber dann weiß ich nicht wie ichs umsetzen soll.

Hat jemand eine Idee?
 
wie ist denn deine seite aufgebaut?
hast du eine index mit der du mehrere unterfiles einfügst, also 'includest' ?

Dann kannst du je nach $section $page oder wei auch immer die variable heisst, die für zu includende page steht, einen case bauen, der dir dann die rubrik ausgibt.


falls jede rubrik einen eigenen ordner, und somit pfad hat, kannst du ihn als anhandlspunkt nehmen, um dem user zu zeigen wo er sich befindet.

such nach einer eigenschaft die beschreibt, was der usr gerade macht.
 
Zuletzt bearbeitet:
Hi ich bin der programmier kollege von ihm,
wir haben eine index.php in der wir dann verschiedene dateien includen von denen man weiderum in eine tiefere eben kommt die auch angezeigt werden soll, jedoch auch nur wieder in die index.php included wird.
also so:

index.php -> include1.php -> include1-1.php usw... bzw
index.php -> include2.php -> include2-1.php

das sollte halt dynamisch sein dass wir jeder seite eine variable zuweisen, wie z.b. $page und die dann immer aneinander gehängt und ausgegeben werden.

ich hoff meine erklärung is verständlich
 
also sieht ein link beispielsweise so aus: index.php?main=index1.php&sub=index1-1.php

(du wirst die dateinamen whol nicht direkt hinschreibeiben, soll aber mal nicht stören)

ich würde einen 2d array anlegen- falls du noch mehr unterpunkte hast dann halt meinetwegen einen 3-4 dimensionalen.

der könnte dann so aussehen

PHP:
$ar = array("index1.php" => array("main" => "Forenübersicht","index1-1.php"=> "PHP - Board"),
			"index2.php" => array("main" => "Tutorials","index2-1.php"=> "Linux - Tutorials")
		);

//und die ausgabe:
$main = "index1.php"; // wäre in deinem fall $_GET["main"];
$sub = "index1-1.php"; // ist dann $_GET["sub"];

print $ar[$main]["main"]." > ".$ar[$main][$sub];

die ausgabe solltest du noch verfeinern, dass $ar[$main][$sub] nur ausgegeben wird, wenn $sub auch wirklich gesetzt ist

du kannst zum testen mal
$main = "index1.php";
$sub = "index1-1.php";

durch
$main = "index2.php"; $sub = "index2-1.php";

ersetzten

oft ist der erste punkt ja einfach der name der Seite, dann hättest du mit dem prinzip oben schon 3 punkte.

das ist eine der wenigen anwendungen in der es wirklich sinn macht mit mehr als 2d - arrays zu arbeiten :)

ich hoffe ihr versteht wie ich mir das vorstelle
so kann man halt leicht weitere punkte hinzufügen.

gruss, david
 
Zuletzt bearbeitet:
also wenn ich das jetzt richtig verstanden hab müsste es so aussehen:
PHP:
<?php
$ar = array("index1.php" => array("main" => "Hauptseite","news.php"=> "news"));

$main = "index1.php"; 
$sub = $_GET["sub"]; 

print $ar[$main]["main"]." > ".$ar[$main][$sub];		
?>

und dann müsste in jeder includeten datei ja
PHP:
<?php $sub="news"; ?>
stehen oder?

das funktioniert nicht.
 
Wie sieht denn der link zu news aus?
wenn du news.php includest, musst ja auch irgendwo ein ne if bedingung haben, if($sub == "news) include("news.php"); oder so?
 
Zuletzt bearbeitet:
nö hab in der index.php links die so aussehen:
index.php?show=news

und dann wird die variable $show.php includet
 
oben hast du es aber anders beschrieben:

index.php -> include1.php -> include1-1.php usw... bzw
index.php -> include2.php -> include2-1.php

nun gut

also du hast immer eine index.php
dann eine variable show, die ist mal 'news', mal 'kontakt' usw, hoffe diesmal stimmts


dann schreibst du denn array halt so:

PHP:
$ar = array("news" => array("main" => "Aktuelle Neuigkeiten","add_comment"=> "Kommentar hizufügen"));

wenn dein link jetzt so aussieht: index.php?show=news&sub=add_comment

kannst du dir die 'history' folgendermaßen ausgeben lassen:

PHP:
print "COOLE-URL.de > ". $ar[$show]["main"]. " > ".$ar[$show][$sub];

du brauchst schon eine klaare seitenstruktur, ohne die kann ich dir auch schlecht helfen.

gruss, dave
 
Also da du wohl für jede ebene ein eigenes code stück hast, kannst du doch da dann x mal die punkte reinschreiben (am besten aus ner datenbank auslesen)

(also fast des gleiche wie von dave, nur a bissl komplizierter beschrieben)
 
Zurück