zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Navi includen, wie macht ihr das?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 20.06.2007, 23:45
Benutzerbild von Crizzo
der mit dem Editor kämpft
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 17.10.2006
Ort: Ost-Hessen
Beiträge: 4.828
Crizzo ist ein sehr geschätzer MenschCrizzo ist ein sehr geschätzer MenschCrizzo ist ein sehr geschätzer MenschCrizzo ist ein sehr geschätzer Mensch
Standard Navi includen, wie macht ihr das?

Hi,

ich includiere sowohl den "footer", als auch die Navi in meiner Seite. Da ich Wert darauf lege, dass es einen Current-Tab gibt, habe ich dann mehrere Navigationen, die includiert werden, wo immer ein anderen Tab als "current" bestimmt wird.

Wie macht ihr das? Genauso? Andere Tricks?

Gruß
__________________
Ohne Quelltext gibts selten Hilfe. Also: Onlinebeispiel hochladen und Link bereitstellen!
Foren-FAQ
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 21.06.2007, 00:11
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Mein Navi-Prinzip sieht so aus:

PHP-Code:
echo '
<ul>
    <li><'
.$open_1.'>Home</'.$close_1.'></li>
    <li><'
.$open_2.'>Team</'.$close_2.'></li>
    <li><'
.$open_3.'>Kontakt</'.$close_3.'></li>
</ul>
'

Dann stehen die default-Werte in meiner config.inc.php:

PHP-Code:
$open_1 'a href="/"';
$open_2 'a href="/team"';
$open_3 'a href="/kontakt"';

$close_1 =
$close_2 =
$close_3 'a'
Die config.inc.php definiert außerdem auch sämtliche Variablen der einzelnen Seiten (Titel, Body-ID etc.), und ersetzt jeweils auch den betreffenden Link durch strong:

PHP-Code:
case 'kontakt':
$titel 'Kontakt &amp; Impressum';
$body_id 'seite-kontakt';
$open_3 $close_3 'strong';
break; 
Natürlich gibt es unter rein programmiertechnischem Aspekt noch elegantere Lösungen, z.B. über eine Abfrage, aber warum sollte ich den Server bei jedem neuen Seitenaufruf eine zusätzliche Abfrage starten lassen, wenn ich nach dem Hinzufügen einer neuen Seite in der config.inc.php innerhalb von 2 Sekunden die Zahl für open und close angepaßt habe und ihm damit direkt sage, was er tun soll

Geändert von heiko_rs (24.06.2007 um 08:54 Uhr) Grund: Code vereinfacht
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 21.06.2007, 00:18
Benutzerbild von Crizzo
der mit dem Editor kämpft
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 17.10.2006
Ort: Ost-Hessen
Beiträge: 4.828
Crizzo ist ein sehr geschätzer MenschCrizzo ist ein sehr geschätzer MenschCrizzo ist ein sehr geschätzer MenschCrizzo ist ein sehr geschätzer Mensch
Standard

Um das zu verstehen, kann ich eindeutig zu wenig PHP.
__________________
Ohne Quelltext gibts selten Hilfe. Also: Onlinebeispiel hochladen und Link bereitstellen!
Foren-FAQ
Mit Zitat antworten
  #4 (permalink)  
Alt 21.06.2007, 00:22
Benutzerbild von Dieter
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 12.09.2003
Beiträge: 3.635
Dieter sorgt für eine eindrucksvolle AtmosphäreDieter sorgt für eine eindrucksvolle Atmosphäre
Standard

Zu wenig PHP kann ich auch, () deshalb habe ich für jede Rubrik, die Unterseiten hat, eine eigene Navidatei, die included wird.

Die Hauptseiten jeder Rubrik werden über die Hauptnavidatei versorgt und der jeweils aktive Links wird "totgeschaltet". Bei allen Rubrik-, also Unterseiten wird die aktive Rubrik optisch angezeigt, der Link aber ist klickbar.

Wie das mit PHP eleganter zu lösen ist, weiss ich leider auch nicht!
__________________
Informationen aus Koblenz-Metternich
-----------------------------------
"Wissen heißt, Fragen zu erwerben."
Mit Zitat antworten
  #5 (permalink)  
Alt 21.06.2007, 00:48
Benutzerbild von Geronimo
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 14.06.2004
Beiträge: 2.641
Geronimo sorgt für eine eindrucksvolle AtmosphäreGeronimo sorgt für eine eindrucksvolle Atmosphäre
Standard

Bei mir wird die passende Navigation anhand der Seitenadresse eingebunden. Über drei ineinander verschachtelte if-Funktionen lässt sich bestimmen ob die Listeneinträge verlinkt, hervorgehoben oder hervorgehoben und zusätzlich verlinkt sein müssen. Nicht unbedingt eine elegante Lösung, aber sie funktioniert.
Mit Zitat antworten
  #6 (permalink)  
Alt 21.06.2007, 00:54
Benutzerbild von Dieter
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 12.09.2003
Beiträge: 3.635
Dieter sorgt für eine eindrucksvolle AtmosphäreDieter sorgt für eine eindrucksvolle Atmosphäre
Standard

Heiko,

funktioniert Deine Lösung auch bei mehr als 100 Dateien und mehr als einer Ebene? Bzw. ist sie dann noch praktisch?
__________________
Informationen aus Koblenz-Metternich
-----------------------------------
"Wissen heißt, Fragen zu erwerben."
Mit Zitat antworten
  #7 (permalink)  
Alt 21.06.2007, 01:13
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.733
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Ich würde Folgendes oder etwas Ähnliches einsetzen:
PHP-Code:
$array = array(
    
'Home'    => '/',
    
'Team'    => '/team',
    
'Kontakt' => '/kontakt',
);

echo 
'<ul>';
foreach( 
$array as $key => $val ) {
    echo 
'<li>';
    if( 
strpos($_SERVER['REQUEST_URI'], $val) === ) {
        echo 
htmlspecialchrs($key);
    } else {
        echo 
'<a href="'.htmlspecialchars($val).'">'.htmlspecialchars($key).'</a>';
    }
    echo 
'</li>';
}
echo 
'</ul>'
__________________
Markus Wulftange
Mit Zitat antworten
  #8 (permalink)  
Alt 21.06.2007, 01:19
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Ich kann das Navi-Gerüst jederzeit um weitere Variablen erweitern, die bei Bedarf eine Sub-Navigation einbinden. Und mein Konzept ist ja eh so angelegt, daß ich alle Variablen pro Seite individuell definiere, und wenn ich eh die jeweilige Body-ID und den Seitentitel etc. eingebe, kann ich auch schnell die open-/close-Variablen anpassen.

Bisher ist es auch bei umfangreichen Websites kein Problem, die Navi in kurzer Zeit zu erweitern. Und wie gesagt, lieber passe ich die Navi-Variablen einmalig per Hand an, als daß ich den Server eine zusätzliche Abfrage starten lasse (ich versuche halt auch, eine möglichst gute Performance zu erzielen).

Natürlich wird die switch-Abfrage irgendwann sehr lang, aber dennoch finde ich das ganze Konstrukt sehr übersichtlich, und finde mich jederzeit sehr schnell darin zurecht.

Eine Alternative wäre z.B. ein Array, aber der wird ja z.B. bei 100 Seiten mit jeweils 10 Variablen (es gibt ja auch noch description etc.) ebenfalls sehr lang, so daß ich meine "case-Blöcke" schon ziemlich übersichtlich finde.

EDIT: @gumbo: Genau, das wäre eine sinnvolle Array-Variante. Aber hälst Du das in Bezug auf das Beispiel in meinem letzten Absatz für übersichtlicher, und vor allem für schneller bzgl. der Performance?

Geändert von heiko_rs (21.06.2007 um 01:22 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 21.06.2007, 01:22
Benutzerbild von Dieter
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 12.09.2003
Beiträge: 3.635
Dieter sorgt für eine eindrucksvolle AtmosphäreDieter sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo, Markus!

Aber auch das funktioniert doch nur bei einer Ebene, oder nicht?

Was ist denn, wenn es Unterseiten zu "Team" gibt und dann der Link im Menü hervorgehoben, aber nicht totgeschaltet sein soll?
__________________
Informationen aus Koblenz-Metternich
-----------------------------------
"Wissen heißt, Fragen zu erwerben."
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 21.06.2007, 01:26
Benutzerbild von Crizzo
der mit dem Editor kämpft
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 17.10.2006
Ort: Ost-Hessen
Beiträge: 4.828
Crizzo ist ein sehr geschätzer MenschCrizzo ist ein sehr geschätzer MenschCrizzo ist ein sehr geschätzer MenschCrizzo ist ein sehr geschätzer Mensch
Standard

Heiko, könnst du dein Kontrukt mal erläutern bzw. mir sagen, wo ich die Erklärung finde?
__________________
Ohne Quelltext gibts selten Hilfe. Also: Onlinebeispiel hochladen und Link bereitstellen!
Foren-FAQ
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
FAQ -- Häufig gestellte Fragen und häufig gegebene Antworten mazzo CSS 10 05.04.2012 18:32
grafische Navigation horizontal zentrieren, klappt nicht lila_3 CSS 4 30.11.2010 11:25
Boxen von Navigation und Logo sind zu weit auseinander lila_3 CSS 2 04.09.2009 00:28
IE verschiebt Navi Menü macmensa CSS 7 17.08.2009 17:45
Probleme mit horizontaler Navi rechts lila_3 CSS 2 14.07.2009 22:36


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:44 Uhr.