WebsiteBaker Community Forum
WebsiteBaker Support (2.8.x) =>
Hilfe & Support (deutsch) => General Help & Support => Diskussion über WB (closed) => Topic started by: Stefek on May 28, 2009, 04:57:30 PM
-
Hallo.
Ich hoffe, der Titel des Threads trifft es schon ganz gut.
Ich habe eine Horizontale Navigation immer drin. Aufgerufen mit
show_menu2(
$aMenu = 0,
$aStart = SM2_ROOT,
$aMaxLevel = SM2_START ...
Vertikal gebe ich jeweils die Children aus, mit:
show_menu2(
$aMenu = 0,
$aStart = SM2_ROOT+1,
$aMaxLevel = SM2_CURR+1 ...
Jetzt habe ich auch Menüpunkte, die keine Unterseiten haben und würde gerne an der Stelle einen zweiten Block ausgeben, oder eine feste Section per ID.
Hat jemand Tipps?
Gruß,
Stefek
-
Öhm... in dem Fall gibt show_menu2() doch ein leeres Result zurück, oder? Dann müßte sowas gehen:
if ( ! show_menu2( ... ) ) { ...section... }
-
if ( ! show_menu2( ... ) ) { ...section... }
Was schreibe ich in den zweiten Teil genau rein?
Das ist mir noch etwas zu abstrakt... :-)
Gruß,
Stefek
-
Ach ja, leeres Result ist richtig. Ich habe das SM2 aber etwas umgeschmückt (mit einem Div Container drum herum), der wird über PHP (über echo) reingeschrieben.
Außerdem besteht die "Übung" daraus, dass ich diese Section drin haben will, nur wenn es kein Child gibt.
Gruß,
Stefek
-
Das mit dem DIV wäre ja kein Hinderungsgrund. Einfach in dem if statt des section-Gerümpels eine Variable belegen und später darauf prüfen.
Was ich jetzt nicht verstehe: Wenn es kein Child WOVON gibt?!?
-
Wenn es kein Child überhaupt gibt.
Die Horizontale Navi sieht so aus:
Punkt 1 | Punkt 2 | Punkt 3
Nehmen wir an, Punkt2 hat Kinder, die anderen beiden nicht.
Die Kinder werden über den 2ten Aufruf seitlich dargestellt.
Macht jetzt mehr Sinn?
Ich schaue mir Deinen Vorschlag an.
Gruß,
Stefek
-
So, also, wenn also Punkt 1 ausgewählt ist, der keine Children hat, soll links statt des Untermenüs was anderes kommen, ja?
Also müßte man doch theoretisch nur gucken, ob das show_menu2 im linken Teil irgendwas geliefert hat. Oder nicht?
Edit: Hab "seitlich" jetzt mal mit "links" assoziiert, weil das quasi "standard" ist.
-
So, also, wenn also Punkt 1 ausgewählt ist, der keine Children hat, soll links statt des Untermenüs was anderes kommen, ja?
Also müßte man doch theoretisch nur gucken, ob das show_menu2 im linken Teil irgendwas geliefert hat. Oder nicht?
Edit: Hab "seitlich" jetzt mal mit "links" assoziiert, weil das quasi "standard" ist.
Korrekte Assoziation.
Tipp?
Ich kann Dir auch gerne PM schicken, wenn es besser ist.
Gruß,
Stefek
-
Tip? Klappt des net mit dem if...?
-
if ( ! show_menu2( ... ) ) { ...section... }
Tip? Klappt des net mit dem if...?
Irgendwie nicht ganz.
In dem Bereich { ... section ... } habe ich probeweise kurz ein { echo 'bla'; } stehen
und es wird immer ausgegeben, auch wenn es keine Childs gibt.
?
Gruß,
Stefek
-
So geht's:
<?php
ob_start();
show_menu2( 0, SM2_ROOT+1, SM2_CURR+1 );
$content = ob_get_contents();
ob_end_clean();
if ( $content ) {
echo $content;
}
else {
echo "show section here";
}
?>
-
Etwas sauberer ist vielleicht
if ( ! empty( $content ) ) {
Ich bin halt immer noch Perl(e) ;)
-
Klasse!
Dankeschön!
Beide Varianten funktionieren.
Weiß nicht, was Du mit "sauberer" meinst, aber eine Perle bist Du ganz sicher ;-)
Vielen Dank.
Stefek
-
Naja, in PHP funktionert das if ( $bla) irgendwie anders als in Perl, daher ist man mit empty() meist auf der sichereren Seite, aber auch nicht immer... :roll: