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

PHP "Naviagtion"

Status
Für weitere Antworten geschlossen.

Doktor

Neues Mitglied
So ich hab mir ein kleines Drop Down Menü gebastelt. Funktioniert soweit auch sehr gut. Was aber noch fehlt, ist die Funktion, dass wenn man sich zum Beispiel auf "Home" der Homepage befindet, der Menüpunkt "Home" dann auch z.B fett markiert ist oder einen anderen Hintergrund besitzt. Also einfach nur, damit der Besucher weiß, wo er sich gerade befindet. Je nach Seite (Home, Kontakt usw.), ist ein anderer Menüpunkt im Hover status (fett, farbig usw.) und zwar so lange, bis der Besucher eine andere Seite aufruft (z.B von "Home" auf "Kontakt" wechselt).
Diese Funktion würde ich gerne per PHP realisieren. Da ich aber in PHP relativ wenig Ahnung habe, weiß ich nicht ganz wie ich vorgehen muss. Theoretisch müsste dies aber mit Variabeln funktionieren oder? Aber wie ganz genau?
Das Drop Down Menü basiert komplett auf CSS und die Menüstrucktur ist ganz einfach <ul><li>....</li></ul>.
So hier noch ein Auschnitt aus dem Quelltext:
Ein Menübaum sieht so aus:
Code:
<body>
<ul>
<li>
<a class="hide" href="#">[B]HOME[/B]</a>
                        <!--[if lte IE 6]>
                        <a href="#">HOME
                        <table><tr><td>
                        <![endif]-->
                                    <ul>
                                        <li><a href="#">
<span>/</span>[B]Latest News[/B]</a></li>
                                        <li><a href="#"> <span>/</span>[B]News[/B]</a></li>
                                    </ul>
                        <!--[if lte IE 6]>
                        </td></tr></table>
                        </a>
                        <![endif]-->
</li>
[...]
</ul>
</body>
So in meinem Fall: Wenn man sich auf der Home Seite befindet, dann soll der Menüpunkt "HOME" zusätzlich zur class="hide" die id="hover" bekommen.
Die CSS Regel dazu sieht so aus:
Code:
.menu ul li:hover a#hover {
    font-weight: bold;
    font-size:12px;
}

Wie realisiere ich so etwas mit PHP?

Gruß
 
php file :

Code wie oben ...
PHP:
...
<a class="hide"<?php 
if ( $_GET['action'] == "Home" ) // Bedingung wenns z.b. auf Home ist
{
      echo " id=\"hover\"";
}
 ?> href="#">Home</a>
...
 
K danke aber ich hab was vergessen zu erwähnen fällt mir gerade auf. Die Navigation wird per PHP include in die Homepage eingebunden (z.B auf Index.php). Die PHP Datei mit der Navigation (Navigation.php), die per include eingebunden wird lautet deshalb:
Code:
<?php
echo "<div class=\"menu\">
                    <ul>
                        <li><a class=\"hide\" href=\"../menu/index.html\">HOME</a>
                        <!--[if lte IE 6]>
                        <a href=\"../menu/index.html\" id=\"Home\">HOME
                        <table><tr><td>
                        <![endif]-->
                                    <ul>
[...]
Wenn ich jetzt deinen Code da einbinde, dann hab ich das jetzt so versucht:
Code:
<?php
echo "<div class=\"menu\">
                    <ul>
                        <li><a class=\"hide\""?><?php
if ( $_GET['action'] == "HOME" ) 
{
      echo " id=\"hover\"";
}
?><?php echo "href=\"#\">HOME</a>
                        <!--[if lte IE 6]>
                        <a href=\"../menu/index.html\" id=\"Home\">HOME
                        <table><tr><td>
                        <![endif]-->
                                    <ul>
                                        <li><a href=\"#\" title=\" Latest News\"><span>/</span>Latest News</a></li>
[...]
Die CSS Regel ist immernoch wie beim ersten Post. Leider funktioniert dies bei mir nicht? Hab ich das falsch eingebunden oder warum funktioniert es nicht?
Noch eine kleine Frage: Warum muss man in die PHP Datei immer so viele "\" einmachen? z.B
Code:
 <a class=\"hide\"
 
die \" sind zum escapen der doublequotes, könnte ja auch heissen, dass der string zu ende ist.

Du musst das Script natürlich an deine Seite anpassen, war nur so ein vorschlag ... in das if musst du die bedingung einfüllen, wenn der bereich home aktiv ist.

In diesem Fall wäre das wenn man index.php?action=home aufruft.
PHP:
<div class="menu">
                    <ul>
                        <li><a class="hide"<?php
if ( $_GET['action'] == "HOME" ) // Bedingung für wenn home bereich
{
      echo " id=\"hover\"";
}
?>
href="#">HOME</a>

du brauchst nicht den ganzen HTML Code in <?php - Tags zu schreiben, wenn du nur HTML hast kannst du diese auch weglassen und dir so die \" sparen =)

mfg
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben