[GastForen Programmierung/Entwicklung PHP und MySQL Menü mit PHP

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Menü mit PHP

matmax
Beiträge gesamt: 626

4. Okt 2011, 15:07
Beitrag # 1 von 4
Bewertung:
(1790 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebes Forum!

Ich habe 3 Kategorien (Blumen, Bäume, Pilze) und Seiten (Sonnenblume, Eiche, Fliegenpilz etc.). Die 3 Kategorien stellen das Obermenü. Klicke ich auf eine Kategorie, klappt sich das Untermenü mit allen Blumen oder Bäumen oder Pilzen auf.

Das Menü habe ich in mehrere php-Dateien ausgelagert, so dass es sich automatisch zusammensetzt. Daher habe ich den Webseiten Namen vergeben:

Code
<?php $page = 'Blumen' xor $page = 'Sonnenblume'; ?> 


In meinem Menü sieht das dann so aus:
Code
<?php if ($page == 'Blumen') { ?> 
<li><a href="sonnenblume.php" class="current">Blumen</a></li>
<?php include 'menu-2-blumen.php'; ?>
<?php } else { ?>
<li><a href="sonnenblume.php">Blumen</a></li>
<?php } ?>

<?php if ($page == 'Bäume') { ?>
<li><a href="eiche" class="current">Bäume</a></li>
<?php include 'menu-2-baeume.php'; ?>
<?php } else { ?>
<li><a href="eiche.php">Blumen</a></li>
<?php } ?>

usw.

"current" bedeutet einfach, dass der Menüpunkt fett hervorgehoben wird.

Im menu-2-blumen.php sieht es dann so aus (natürlich alles in ein ul gepackt):

Code
<?php if ($page == 'Sonnenblume') { ?>  
<li class="current">Sonnenblume</li>
<?php } else { ?>
<li><a href="sonnenblume.php">Sonnenblume</a></li>
<?php } ?>

<?php if ($page == 'Rose') { ?>
<li class="current">Rose</li>
<?php } else { ?>
<li><rose.php">Rose</a></li>
<?php } ?>

usw.


Leider werden im aufgeklappten Menü, die einzelnen Seitennamen nicht fett (current) dargestellt. Er scheint also
Code
xor $page = 'Sonnenblume'; ?> 

nicht zu verstehen …

Könnt Ihr mir weiterhelfen?!
Danke!!
X

Menü mit PHP

eymer
Beiträge gesamt: 438

4. Okt 2011, 15:44
Beitrag # 2 von 4
Beitrag ID: #481580
Bewertung:
(1780 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo matmax

Ich kenne den xor-Operator nur im Zusammenhang mit einer if-Abfrage.

Du weist hier der Variable $page zuerst "Blumen" zu, danach folgt ein funktionsloses "xor", dann wird "Sonnenblume" in $page geschrieben.

Gruss vom eymer


als Antwort auf: [#481578]

Menü mit PHP

matmax
Beiträge gesamt: 626

4. Okt 2011, 16:14
Beitrag # 3 von 4
Beitrag ID: #481585
Bewertung:
(1769 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke.
Ich habe es jetzt so gelöst:

Für die Bezeichnung der einzelnen Seiten:
Code
<?php $kategorie = 'Blumen' and $page = 'Sonnenblume'; ?> 


Für die erste Menüebene:
Code
<?php if ($kategorie == 'Blumen') { ?> 
<li><a href="sonnenblume.php" class="current">Blumen</a></li>
<?php include 'menu-2-blumen.php'; ?>
<?php } else { ?>
<li><a href="sonnenblume.php">Blumen</a></li>
<?php } ?>

usw.


Für die zweite Menüebene:
Code
<?php if ($page == 'Sonnenblume') { ?>  
<li class="current">Sonnenblume</li>
<?php } else { ?>
<li><a href="sonnenblume.php">Sonnenblume</a></li>
<?php } ?>

usw.


Es klappt aber nur, wenn ich in der Bezeichnung der Seite ein = schreibe und in den if-Abfragen aber ==

Kann mir jemand den Unterschied erklären (normalerweise benutz man doch nur = )?!

Danke!!


als Antwort auf: [#481580]

Menü mit PHP

eymer
Beiträge gesamt: 438

4. Okt 2011, 17:32
Beitrag # 4 von 4
Beitrag ID: #481590
Bewertung:
(1748 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo matmax

Der Unterschied ist wesentlich und gehört zum PHP-Grundwissen.

$a = 1; // Schreibt den Wert '1' in die Variable '$a'

$a == 1; // Vergleicht den Wert '1' mit der Variable '$a' und ist deshalb meist bei if-Statements anzutreffen. Das Ergebnis ist entweder true oder false. $a wird hier nicht verändert.

Dein Code ist zwar syntaktisch korrekt, sollte aus Lesbarkeitsgründen aber statt "<?php $kategorie = 'Blumen' and $page = 'Sonnenblume'; ?> " so sein:
Code
<?php  
$kategorie = 'Blumen';
$page = 'Sonnenblume';
?>



Gruss vom eymer


als Antwort auf: [#481585]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/