| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
hagene Mitglied
|
PHP Navigation von Homepage-Total.de |
|
|
Hallo zusammen,
ich hätte eine kurze Frage bzw. bräuchte etwas Hilfe bei der PHP-Navigation von Homepage-Total.de.
Die genannte Navigation sieht so aus:
http://www.homepage-total.de/php/ph...ion/_menue/startseite.php
Wenn man nun auf den Ordner1 klickt, öffnet sich die Navigation. Und man kann praktisch im Untermenü die einzelnen Seiten in diesem Ordner aufrufen.
Meine Frage ist nun: ist es auch möglich, wenn man die einzelnen Ordner öffnet, das man gleich den Inhalt der ersten Unterseite zu sehen bekommt?
Sprich in diesem Beispiel wäre es ja beim Ordner1 die Unterseite "Weit hinten, hinter den Wortbergen".
Ist das einfach möglich? Bin leider noch nicht so bewandert in PHP .
Für Hilfe wäre ich euch sehr sehr dankbar. |
|
|
|
| 08 Okt 2008 19:52 |
|
  |
Forrest Gumb Mitglied

|
 |
|
|
einfach den Link von Ordner1 ändern in -->
| Code: | http://www.homepage-total.de/php/php-navigation/ordner1/blindtext_2.php?link=ordner1&name=blindtext_2.php |
also dieses Snippet anfügen --> | Code: | &name=blindtext_2.php |
|
_________________ 4rest
Wende Dein Gesicht ins Licht, dann werden die Schatten hinter Dir sein.
[ forrest ] - [ more ] |
|
|
| 09 Okt 2008 16:26 |
|
 |
hagene Mitglied
|
 |
|
|
Hallo Forrest Gumb,
vielen Dank erstmal für deine Antwort. Dachte schon ich bekomme keine mehr.
Ich werde zuerst mal den PHP-Code posten
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| <div id="navigation">
<ul>
<li class="firstlev"><a href="../_menue/startseite.php">Startseite</a></li>
<?php
# Verzeichnisse hier eintragen
# Es sind nur relative Angaben (../) möglich!
# Es sind keine Unterverzeichnisse möglich!
$verzeichnis = array (
"../verein/",
"../news/",
"../schule/",
"../reiseberichte/",
"../praktikanten/"
);
if ($_GET) {
$link = $_GET["link"];
$name = $_GET["name"];
}
for ($zaehler = 0; $zaehler < count($verzeichnis); $zaehler++) {
// Verzeichnisnamen extrahieren!
$verzeichnisname = explode("/", $verzeichnis[$zaehler]);
$verzeichnisname = $verzeichnisname[1];
if ($link == $verzeichnisname) {
// Verzeichnisnamen ausgeben
echo '<li class="seclev_active"> ';
echo ucwords($verzeichnisname) . "</li>\n";
echo '' . "\n";
// Verzeichnisdateien einlesen
$verz_handle = openDir($verzeichnis[$zaehler]);
while ($datei = readDir($verz_handle)) {
if (substr_count($datei, ".php") > 0) {
$datei_handle = fOpen($verzeichnis[$zaehler] . $datei, "r"); // Verzeichnisdatei öffnen
$inhalt = fRead($datei_handle, 1000); // Verzeichnisdatei teilw. einlesen
fClose($datei_handle);
ereg("<title>(.*)<\/title>", $inhalt, $titel); // und Titelbeschreibung daraus extrahieren!
if (empty($name))
$name = $datei;
if ($name == $datei) {
echo "<div class=aktuell>$titel[1]</div>"; // Geöffnete Verzeichnisdatei wird markiert
}
else {
// Link zur Verzeichnisdatei setzen
echo "<li class='seclev'><a href=\"$verzeichnis[$zaehler]$datei";
echo "?link=$verzeichnisname&name=$datei\">$titel[1]</a></li>\n";
}
}
}
closeDir($verz_handle);
echo "\n\n";
}
else {
// Link zum Verzeichnis setzen
echo '<li class="firstlev"> ';
echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?link=$verzeichnisname\">";
echo ucwords($verzeichnisname) . "</a></li>\n";
}
}
?>
<li class="firstlev"><a href="../kontakt_impressum/impressum.php">Kontakt/Impressum</a></li>
</ul>
</div> |
Leider hat dein Tipp nicht ganz geklappt. Oder ich hatte es falsch gemacht.
Wäre echt nett wenn du vielleicht nochmal drüber schauen könntest und mir vielleicht nochmal helfen könntest.
Danke vorab. |
|
|
|
| 09 Okt 2008 21:56 |
|
 |
Forrest Gumb Mitglied

|
 |
|
|
probiermal, habs jetzt nicht getestet.
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| <div id="navigation">
<ul>
<li class="firstlev"><a href="../_menue/startseite.php">Startseite</a></li>
<?php
# Verzeichnisse hier eintragen
# Es sind nur relative Angaben (../) möglich!
# Es sind keine Unterverzeichnisse möglich!
$verzeichnis = array (
"../verein/",
"../news/",
"../schule/",
"../reiseberichte/",
"../praktikanten/"
);
if ($_GET) {
$link = $_GET["link"];
$name = $_GET["name"];
}
for ($zaehler = 0; $zaehler < count($verzeichnis); $zaehler++) {
// Verzeichnisnamen extrahieren!
$verzeichnisname = explode("/", $verzeichnis[$zaehler]);
$verzeichnisname = $verzeichnisname[1];
if ($link == $verzeichnisname) {
// Verzeichnisnamen ausgeben
echo '<li class="seclev_active"> ';
echo ucwords($verzeichnisname) . "</li>\n";
echo '' . "\n";
// Verzeichnisdateien einlesen
$verz_handle = openDir($verzeichnis[$zaehler]);
while ($datei = readDir($verz_handle)) {
if (substr_count($datei, ".php") > 0) {
$datei_handle = fOpen($verzeichnis[$zaehler] . $datei, "r"); // Verzeichnisdatei öffnen
$inhalt = fRead($datei_handle, 1000); // Verzeichnisdatei teilw. einlesen
fClose($datei_handle);
ereg("<title>(.*)<\/title>", $inhalt, $titel); // und Titelbeschreibung daraus extrahieren!
if (empty($name))
$name = $datei;
if ($name == $datei) {
echo "<div class=aktuell>$titel[1]</div>"; // Geöffnete Verzeichnisdatei wird markiert
}
else {
// Link zur Verzeichnisdatei setzen
echo "<li class='seclev'><a href=\"$verzeichnis[$zaehler]$datei";
echo "?link=$verzeichnisname&name=$datei\">$titel[1]</a></li>\n";
}
}
}
closeDir($verz_handle);
echo "\n\n";
}
else {
// Link zum Verzeichnis setzen
echo '<li class="firstlev"> ';
echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?link=$verzeichnisname&name=$datei\">";
echo ucwords($verzeichnisname) . "</a></li>\n";
}
}
?>
<li class="firstlev"><a href="../kontakt_impressum/impressum.php">Kontakt/Impressum</a></li>
</ul>
</div> |
|
_________________ 4rest
Wende Dein Gesicht ins Licht, dann werden die Schatten hinter Dir sein.
[ forrest ] - [ more ] |
|
|
| 10 Okt 2008 12:05 |
|
 |
hagene Mitglied
|
 |
|
|
Hallo vielen Dank das du versuchst mir zu helfen. Echt Klasse.
Leider hat es so nicht geklappt. Im XHTML sieht es so aus bei der Ausgabe:
| Code: |
<div id="navigation">
<ul>
<li class="firstlev"><a href="../_menue/startseite.php">Startseite</a></li>
<li class="firstlev"> <a href="/xxx/_menue/startseite.php?link=verein&name=">Verein</a></li>
<li class="firstlev"> <a href="/xxx/_menue/startseite.php?link=news&name=">News</a></li>
<li class="firstlev"> <a href="/xxx/_menue/startseite.php?link=schule&name=">Schule</a></li>
<li class="firstlev"> <a href="/xxx/_menue/startseite.php?link=reiseberichte&name=">Reiseberichte</a></li>
<li class="firstlev"> <a href="/xxx/_menue/startseite.php?link=praktikanten&name=">Praktikanten</a></li>
<li class="firstlev"><a href="../kontakt_impressum/impressum.php">Kontakt/Impressum</a></li>
</ul>
</div>
|
Hast du vielleicht noch ne Idee? |
Zuletzt bearbeitet von hagene am 29 Okt 2008 22:44, insgesamt einmal bearbeitet |
|
|
| 10 Okt 2008 17:20 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Hallo hagene,
ich habe lange herum probiert und eine einfache Lösung gefunden!
Hier ist der geänderte PHP-Code von meiner Webseite.
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| <div id=logo>
Homepagename
</div>
<div id=navigation>
<a href="../_menue/startseite.php">Startseite</a><br><br>
<?php
# Verzeichnisse hier eintragen
# Es sind nur relative Angaben (../) möglich!
# Es sind keine Unterverzeichnisse möglich!
$verzeichnis = array (
"../ordner1/",
"../ordner2/",
"../ordner3/"
);
$ersteDatei = "";
$erstesVerzeichnis = "";
if ($_GET) {
$link = ereg_replace(array("..", "/"), "", $_GET["link"]);
$name = $_GET["name"];
}
for ($zaehler = 0; $zaehler < count($verzeichnis); $zaehler++) {
// Verzeichnisnamen extrahieren!
$verzeichnisname = explode("/", $verzeichnis[$zaehler]);
$verzeichnisname = $verzeichnisname[1];
if ($link == $verzeichnisname) {
// Verzeichnisnamen ausgeben
echo '<img src="../_menue/verzeichnis_offen.gif" width="16" height="13" alt=""> ';
echo ucwords($verzeichnisname) . "<br>\n";
echo '<div style="padding-left: 20px;">' . "\n";
// Verzeichnisdateien einlesen
$verz_handle = openDir($verzeichnis[$zaehler]);
while ($datei = readDir($verz_handle)) {
if (substr_count($datei, ".php") > 0) {
if ($ersteDatei == "") {
$ersteDatei = $verzeichnis[$zaehler] . $datei;
$erstesVerzeichnis = str_replace(array("..", "/"), "", $verzeichnis[$zaehler]);
}
$datei_handle = fOpen($verzeichnis[$zaehler] . $datei, "r"); // Verzeichnisdatei öffnen
$inhalt = fRead($datei_handle, 1000); // Verzeichnisdatei teilw. einlesen
fClose($datei_handle);
ereg("<title>(.*)<\/title>", $inhalt, $titel); // und Titelbeschreibung daraus extrahieren!
if ($name == $datei) {
echo "<div class=aktuell>$titel[1]</div>"; // Geöffnete Verzeichnisdatei wird markiert
}
else {
// Link zur Verzeichnisdatei setzen
echo "<a href=\"$verzeichnis[$zaehler]$datei";
echo "?link=$verzeichnisname&name=$datei\">$titel[1]</a><br>\n";
}
}
}
closeDir($verz_handle);
echo "\n</div>\n";
}
else {
// Link zum Verzeichnis setzen
echo '<img src="../_menue/verzeichnis_geschlossen.gif" width="16" height="13" alt=""> ';
echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?link=$verzeichnisname\">";
echo ucwords($verzeichnisname) . "</a><br>\n";
}
}
if ($ersteDatei != "" && !isset($_GET["stop"])) {
echo "<script type=\"text/javascript\">location.href=\"$ersteDatei?stop&link=$erstesVerzeichnis\";</script>";
}
?>
</div>
<div id=inhalt> |
Beim anklicken eines Ordners wird zuerst dessen Inhalt gelesen,
dann folgt die autom. Weiterleitung (über JavaScript) zu der ersten Datei. |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 13 Okt 2008 22:37 |
|
 |
hagene Mitglied
|
Vielen Dank Werner |
|
|
Hallo Werner,
Erst mal vielen herzlichen Dank für diese Lösung.
Kann es sein das jetzt nur noch die jeweils erste Unterseite angezeigt wird?
Sprich wenn man auf einen Oberpunkt klickt, geht das Submenü auf und der Inhalt der ersten Unterseite wird angezeigt. Das ist schon mal Klasse!!
Wenn ich allerdings jetzt auf die zweite Unterseite klicke, lädt sich automatisch die erste wieder. Kann man da noch was machen?
Wäre super, Stephan. |
|
|
|
| 14 Okt 2008 16:31 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
Anscheinend war es für mich gestern etwas spät, so das mir
die Augen zugefallen sind und ich den Fehler übersehen habe
| PHP-Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| <div id="logo">
Homepagename
</div>
<div id="navigation">
<a href="../_menue/startseite.php">Startseite</a><br><br>
<?php
$verzeichnis = array (
"../ordner1/",
"../ordner2/",
"../ordner3/"
);
$ersteDatei = "";
$erstesVerzeichnis = "";
if ($_GET) {
$link = ereg_replace(array("..", "/"), "", $_GET["link"]);
$name = $_GET["name"];
}
for ($zaehler = 0; $zaehler < count($verzeichnis); $zaehler++) {
// Verzeichnisnamen extrahieren!
$verzeichnisname = explode("/", $verzeichnis[$zaehler]);
$verzeichnisname = $verzeichnisname[1];
if ($link == $verzeichnisname) {
// Verzeichnisnamen ausgeben
echo '<img src="../_menue/verzeichnis_offen.gif" width="16" height="13" alt=""> ';
echo ucwords($verzeichnisname) . "<br>\n";
echo '<div style="padding-left: 20px;">' . "\n";
// Verzeichnisdateien einlesen
$verz_handle = openDir($verzeichnis[$zaehler]);
while ($datei = readDir($verz_handle)) {
if (substr_count($datei, ".php") > 0) {
if ($ersteDatei == "") {
$ersteDatei = $verzeichnis[$zaehler] . $datei;
$erstesVerzeichnis = str_replace(array("..", "/"), "", $verzeichnis[$zaehler]);
}
$datei_handle = fOpen($verzeichnis[$zaehler] . $datei, "r"); // Verzeichnisdatei öffnen
$inhalt = fRead($datei_handle, 1000); // Verzeichnisdatei teilw. einlesen
fClose($datei_handle);
ereg("<title>(.*)<\/title>", $inhalt, $titel); // und Titelbeschreibung daraus extrahieren!
if ($name == $datei) {
echo "<div class=aktuell>$titel[1]</div>"; // Geöffnete Verzeichnisdatei wird markiert
}
else {
// Link zur Verzeichnisdatei setzen
echo "<a href=\"$verzeichnis[$zaehler]$datei";
echo "?link=$verzeichnisname&name=$datei&stop\">$titel[1]</a><br>\n";
}
}
}
closeDir($verz_handle);
echo "\n</div>\n";
}
else {
// Link zum Verzeichnis setzen
echo '<img src="../_menue/verzeichnis_geschlossen.gif" width="16" height="13" alt=""> ';
echo "<a href=\"" . $_SERVER["PHP_SELF"] . "?link=$verzeichnisname\">";
echo ucwords($verzeichnisname) . "</a><br>\n";
}
}
if ($ersteDatei != "" && !isset($_GET["stop"])) {
echo "<script type=\"text/javascript\">location.href=\"$ersteDatei?stop&link=$erstesVerzeichnis\";</script>";
}
?>
</div>
<div id="inhalt"> |
|
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 15 Okt 2008 21:16 |
|
 |
hagene Mitglied
|
Vielen Dank nochmal |
|
|
Hallo Werner,
vielen Dank das du dir nochmal die Mühe gemacht hast.
Echt Klasse.
Grüe
Stephan |
|
|
|
| 15 Okt 2008 22:19 |
|
 |
hagene Mitglied
|
Anordnen von Links |
|
|
Hallo nochmal,
eine Frage habe ich nochmal bezüglich der Navigation.
Und zwar würde ich gerne wissen, ob man beeinflußen kann, in welcher Reihenfolgen die einzelnen Unterseiten im Submenü angezeigt werden?
Gibt es eine Möglichkeit die Unterseiten nache eigenen Angaben anzuordnen?
Für eine erneute Hilfe wäre ich sehr dankbar.
Gruß
Stephan |
|
|
|
| 22 Okt 2008 20:09 |
|
 |
|