• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Navi mit include verändern und einbinden

Ich finde die von djehke gepostete Lösung gar nicht schlecht. Zumindest mir war bisher noch nicht bekannt, dass sich so etwas auch mit CSS realisieren lässt.


Dir war nicht bekannt dass man mit CSS-Selektoren HTML-Elemente formatieren kann? Also das habe ich jetzt schon von dir erwartet, Tronjer :p

Naja, es hat schon gewisse Nachteile.

Wie soll eine tiefere Navigation gelöst werden?
Ebene 1
--Ebene 2
----Ebene 3

Ja, stimmt, aber soviel Hauptnavipunkt werden wohl nichtmehr dazu kommen. Wenn Xeno in seine Navilist alle Einträge behndeln will. Ist die ihm vorgeschlagende Variante aber sehr aufwändig. Oder?
Da könnte mein Php-Vorschlag titel vielleicht einfacher sein, Aber nicht besser,

Ich habe nochmal Xenos's Anliegen gelesen und er wollte doch eine Möglichkeit seine aktuelle Seite hervorzuheben.

Ok gut, für kleine Seiten ist deine Lösung sicher die Beste. Ich versuche nur meist alle Seiten - egal ob klein oder groß - möglichst 'änderungsfreudig' aufzubauen (Da es bei mir oft der Fall ist dass eine Website plötzlich doppelt so umfangreich wird, oder der Inhalt komplett umgekrempelt wird, oder was auch immer).

Und ja ... Xenos Anliegen habe ich garnicht gelesen :p
 
Werbung:
Dir war nicht bekannt dass man mit CSS-Selektoren HTML-Elemente formatieren kann? Also das habe ich jetzt schon von dir erwartet, Tronjer :p

Naja, es hat schon gewisse Nachteile.

Wie soll eine tiefere Navigation gelöst werden?
Ebene 1
--Ebene 2
----Ebene 3

So vielleicht. Ist aber seeeeeeehr viel (Straf)Arbeit.
Verschachtelte Navigationsleiste kontextbezogen anzeigen mit CSS für php include-Anweisung (Am Ende geht es weiter mit Teil 2) Natürlich nur wer Lust hat.
 
Werbung:
Gross- und Kleinschreibung - $PHP_SELF oder $php_self

Mag ja sein, aber es hindert ihn doch niemand daran, das zu verbessern ;)

Ich habs verbessert, der aktuelle (und auch funktionierende) Code ist also im Moment:

PHP:
<div id="header">

<ul id="navi">

  <li><a href="http://www.michaelritter.ch/index.htm">Hauptseite</a></li>

  <li><a href="http://www.michaelritter.ch/politik.htm">Politik &raquo;</a>

   <ul>

    <li><a href="http://www.michaelritter.ch/politik2.php">Biographie</a></li>

     <li><a href="http://www.michaelritter.ch/wahlen12.php">Wahlen 2012</a></li>

     <li><a href="http://www.michaelritter.ch/markthalle.php">Markthalle</a></li>

   </ul>

  </li>
<?php
  $php_self = basename($_SERVER['SCRIPT_NAME']); 
     if ($php_self != "vereine.php")
          echo "<li><a href=\"http://www.michaelritter.ch/vereine.php\">Vereine &raquo;</a>";
     else
          echo "<li><span>Vereine &raquo;</span>";
?>

   <ul>

    <li><a href="http://www.michaelritter.ch/radioemme.php">Radio&nbsp;Emme</a></li>

    <li><a href="http://www.michaelritter.ch/dampflokfest.php">Dampflokfest</a></li>

    <li><a href="http://www.michaelritter.ch/casinogesellschaft.php">Casino-Gesellschaft</a></li>

    <li><a href="http://www.michaelritter.ch/kadettentage.php">Kadettentage</a></li>

    <li><a href="http://www.michaelritter.ch/solatte.php">Solätte</a></li>

     <li><a href="http://www.michaelritter.ch/casinotheater.php">Casino&nbsp;Theater</a></li>

   </ul>

  </li>

    <li><a href="http://www.michaelritter.ch/links.htm">Links &raquo;</a>

          <ul>

              <li><a href="http://www.michaelritter.ch/gemeinden.php">Gemeinden&nbsp;<br>usw.</a></li>

            <li><a href="http://www.michaelritter.ch/parteien.php">Parteien</a></li>

        </ul>

   </li>

  <li><a href="http://www.michaelritter.ch/intern.htm">Intern &raquo;</a>

       <ul>

              <li><a href="http://www.michaelritter.ch/kontakt.php">Kontakt</a></li>

              <li><a href="http://www.michaelritter.ch/changelog.php">Changelog</a></li>

              <li><a href="http://www.michaelritter.ch/impressum.php">Impressum</a></li>

          </ul>

      </li>

      <li><a href="http://www.michaelritter.ch/archiv.htm">Archiv &raquo;</a>

          <ul>

            <li><a href="http://www.michaelritter.ch/markthalle-argumente-archiv.php">Markthalle Argumente</a>"</li>          

          </ul>

      </li>

</ul>

</div>

Noch kurz zu dem Punkt "Schreibweise von Variablen" (ist ja ein Nebenschauplatz, aber trotzdem): An sich ist IMHO Gross- oder Kleinschreibung, sogar beliebig gemischt, zugelassen. Die mir bis jetzt bekannten Tutorials usw. empfehlen aber (reine) Kleinschreibung. Dafür spricht u. a., dass PHP case sensitive ist, weshalb insbesondere Mischungen aus Gross- und Kleinschreibung gerne Fehlerquellen seien.

Vorderfinierte Variabeln wie hier $_SERVER haben dagegen auch eine vordefinierte Schreibweise, die einzuhalten ist. Ich habe, als ich den Code adaptierte, gemeint, $php_self sei auch eine vordefinierte Variable, aber das stimmt offenbar nicht. Nach meinen Quellen haben vordefinierte Variablen aber nach $ einen Tiefstrich. $php_self wird offenbar gewissermassen nur per Gewohnheit so genannt. Ich könnte ja testen, ob das Ganze auch mit $apfel funktioniert:?.

Die weiteren Postings sind sehr interessant und geben mir etliche Anregungen.

Lg Xeno
 
Ich bin jetzt nur sehr grob drüber geflogen, aber willst du wirklich die Inhalte von geparsten .php Dateien neu schreiben?

Lieber sysop

Sicher ist Dein Einwand berechtigt, aber ich verstehe ihn (noch) nicht. Was ist an meinem Lösungsweg "faul"? Wohl Verschiedenes, aber wenn Du magst, dann konkretisiere doch dein Einwand etwas (sonst auch ok, versteht sich).

Lg Xeno
 
Zurück
Oben