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

Title: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post 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
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: WebBird on May 28, 2009, 05:15:36 PM
Öhm... in dem Fall gibt show_menu2() doch ein leeres Result zurück, oder? Dann müßte sowas gehen:

Code: [Select]
if ( ! show_menu2( ... ) ) { ...section... }
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: Stefek on May 28, 2009, 05:19:21 PM
Code: [Select]
if ( ! show_menu2( ... ) ) { ...section... }

Was schreibe ich in den zweiten Teil genau rein?
Das ist mir noch etwas zu abstrakt... :-)

Gruß,
Stefek
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: Stefek on May 28, 2009, 05:21:36 PM
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
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: WebBird on May 28, 2009, 06:21:33 PM
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?!?
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: Stefek on May 28, 2009, 06:37:10 PM
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
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: WebBird on May 29, 2009, 01:02:53 PM
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.
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: Stefek on May 29, 2009, 01:05:11 PM
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
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: WebBird on May 29, 2009, 01:10:14 PM
Tip? Klappt des net mit dem if...?
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: Stefek on May 29, 2009, 01:21:23 PM
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


Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: WebBird on May 29, 2009, 01:41:50 PM
So geht's:

Code: [Select]
<?php
    ob_start
();
    
show_menu20SM2_ROOT+1SM2_CURR+);
    
$content ob_get_contents();
    
ob_end_clean();
      
    if ( 
$content ) {
        echo 
$content;
    }
    else {
echo 
"show section here";
    }

?>

Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: WebBird on May 29, 2009, 01:43:55 PM
Etwas sauberer ist vielleicht

if ( ! empty( $content ) ) {

Ich bin halt immer noch Perl(e) ;)
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: Stefek on May 29, 2009, 01:48:32 PM
Klasse!
Dankeschön!

Beide Varianten funktionieren.
Weiß nicht, was Du mit "sauberer" meinst, aber eine Perle bist Du ganz sicher ;-)

Vielen Dank.
Stefek
Title: Re: Wenn SM2_ROOT+1 nicht vorhanden, eine section ausgeben, statt menü
Post by: WebBird on May 29, 2009, 02:56:29 PM
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: