Author Topic: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]  (Read 4528 times)

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
"if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« on: March 19, 2010, 11:55:57 PM »
Hallo,
ich stehe vor dem folgenden Problem.

Ich will im Template etwas einbinden, was nur dann auftaucht, wenn ein bestimmter Menüpunkt oder eines seiner Kinder, Enkel und Urenkel angezeigt wird.

Im moment habe ich es so:

Code: [Select]
<?php 
if (PAGE_ID == || PARENT == 2) {
?>


<!-- mein block -->

<?php 
}
?>


Die Levels weiter unten werden nicht angesprochen.

Bin für jeden Denkanstoß dankbar.

Gruß,
Stefek
« Last Edit: March 21, 2010, 12:29:37 AM by Stefek »
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline kweitzel

  • WebsiteBaker Org e.V.
  • **
  • Posts: 6983
  • Gender: Male
Re: "if (oberster Punkt im Menü) {...." [Lösungssuche]
« Reply #1 on: March 20, 2010, 12:02:02 AM »
Prüf auf das ROOT_PARENT wenn es sich um den obersten Menüpunkt handelt ...

Gruß

Klaus

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if (oberster Punkt im Menü) {...." [Lösungssuche]
« Reply #2 on: March 20, 2010, 10:55:55 AM »
Hallo Klaus,
Du meinst die
$wb->page['root_parent']; ?

Nein, leider ist die genannte Page einen LEVEL höher.


Ich muss wahrschenlich die show_menu2 Funktion bemühen.

Wenn jemand eine elegante Lösung hat, bitte melden.

Danke jedenfalls.

Gruß,
Stefek
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if (oberster Punkt im Menü) {...." [Lösungssuche]
« Reply #3 on: March 20, 2010, 12:06:27 PM »
Ich präsentiere:
DAS MONSTER

Code: [Select]
<?php 
$startingPID 4;
$listPIDs show_menu2(
        $aMenu          0,
        $aStart         $startingPID,
        $aMaxLevel      SM2_ALL,
        $aFlags         SM2_ALL SM2_BUFFER,
        $aItemOpen      = &#39;[page_id],&#39;,
        $aItemClose     = &#39;&#39;,
        $aMenuOpen      = &#39;&#39;,
        $aMenuClose     = &#39;&#39;
         
);
       
$listPIDs .= $startingPID;
       
$pIDs explode(","$listPIDs);       
       
foreach($pIDs as $pIDitem
       
{       
        if (PAGE_ID == $pIDitem)       
        {
        echo &#39;pID: &#39;.$pIDitem.&#39; ### HIER DER BLOCK ###&#39;;
        }
       
}
      
?>



Und das MINIMONSTER

Code: [Select]
<?php 
$startingPID 4;
$listPIDs show_menu2(0,$startingPID,SM2_ALL,SM2_ALL SM2_BUFFER,&#39;[page_id],&#39;,&#39;&#39;,&#39;&#39;,&#39;&#39;);     
       
$pIDs explode(","$listPIDs.$startingPID);       
       

       
foreach($pIDs as $pIDitem
       
{       
        if (PAGE_ID == $pIDitem)       
        {
        echo &#39;pID: &#39;.$pIDitem.&#39; ### HIER DER BLOCK ###&#39;;
        }
       
}
      
?>

Hm.. immer noch monströs  :|

Funktioniert,
aber ich hoffe, dass jemand einen leichtgewichtigeren Ansatz hat?


Gruß,
Stefek
« Last Edit: March 20, 2010, 12:08:32 PM by Stefek »
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [teilweise gelöst]
« Reply #4 on: March 20, 2010, 06:18:52 PM »
Keiner eine andere Idee?

Kann mir kaum vorstellen, dass das der beste Lösungsansatz ist.



Gruß,
Stefek
« Last Edit: March 21, 2010, 12:21:59 AM by Stefek »
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline DarkViper

  • Forum administrator
  • *****
  • Posts: 3028
  • Gender: Female
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [teilweise gelöst]
« Reply #5 on: March 21, 2010, 12:23:27 AM »
warum einfach, wenns auch umständlich geht...  8-)

Dein 'heißer' Menüpunkt sei, sag mer mal $page_id = 2....

jetzt kommt ne riesen-komplizierte-wolpertinger-funktion::

Code: [Select]
<?php

if( isset( $wb->page_trail[2] ) )
{
    echo &
#39;die aktuelle Seite ist selbst Seite ID2 oder aber eine ihrer Abkoemlinge&#39;;
}else{
    echo &
#39;die aktuelle Seite hat rein gar nix mit Seite ID2 zu tun..&#39;;
}

?>

also wie gehabt.... extrem kompliziert... und nur was für Profis..  :-P  :-P  :evil:

Werner
Der blaue Planet - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen

"You have to take the men as they are… but you can not leave them like that !" :-P
Das tägliche Stoßgebet: Oh Herr, wirf Hirn vom Himmel !

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [teilweise gelöst]
« Reply #6 on: March 21, 2010, 12:29:10 AM »
Hallo Werner.

Demnach zu beurteilen, dass es so lange gedauert hat, bis jemand damit rausrückt, bist Du einer der wenigsten Profis hier ;-)

Ich danke Dir.

Kannst Du mir bitte noch verraten, wo ich das und Ähnliches herausfinden kann?
Ich habe die Hilfe auf jeden Fall bemüht ;-)

Gruß,
Stefek

"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline DarkViper

  • Forum administrator
  • *****
  • Posts: 3028
  • Gender: Female
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #7 on: March 21, 2010, 01:12:28 AM »
must nur schauen, welche Methoden und Eigenschaften die geladenen Objekte/Module  (z.B. $wb im Frontend) zur Verfügung stellen....
Der blaue Planet - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen

"You have to take the men as they are… but you can not leave them like that !" :-P
Das tägliche Stoßgebet: Oh Herr, wirf Hirn vom Himmel !

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #8 on: March 21, 2010, 12:43:01 PM »
must nur schauen, welche Methoden und Eigenschaften die geladenen Objekte/Module  (z.B. $wb im Frontend) zur Verfügung stellen....
Hi,

Quote from: Stefek
Ich habe die Hilfe auf jeden Fall bemüht
Der Tip am Seitenende zur Ausgabe von Konstanten, Variablen oder Funktionen ist auch nicht schlecht. So kann man sich einen schnellen Überblick über die von WB bereit gestellten Konstanten, Variablen oder Funktionen im Front- und Backend verschaffen...

Hallo,
danke für die Anregungen.
Wie kann ich es machen, dass mir diese Dinger im Frontend angezeigt werden?

Das ist interessant für mich.

SG,
Stefek
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #9 on: March 21, 2010, 12:53:25 PM »
Na, hier stehts ja doch.

Definierte Konstanten anzeigen:
print_r(get_defined_constan ts());

Definierte Variablen anzeigen:
print_r(get_defined_vars());

Definierte Funktionen anzeigen:
print_r(get_defined_functio ns());

 
... ist doch wnderbar.

Danke für die Anregungen, Leute.

Gruß,
Stefek
« Last Edit: March 21, 2010, 12:55:45 PM by Stefek »
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #10 on: March 21, 2010, 01:50:31 PM »
Da mache ich mir keine Sorgen. ;-)

Ich mache mir mehr Sorgen über Leute, die öfter mal ihren Profilnamen wechseln  :evil:
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Waldschwein

  • Guest
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #11 on: March 21, 2010, 02:45:44 PM »
Ich mache mir mehr Sorgen über Leute, die öfter mal ihren Profilnamen wechseln  :evil:
[OT]Pff, also ich gucke nicht nach links wo der Profilname steht, dann gibt's gleich weniger Benutzer hier im Forum.  :wink: So von der Art des Schreibens und so.

Gruß Michael[/OT]


Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #12 on: March 21, 2010, 03:01:40 PM »
Quote from: Stefek
Demnach zu beurteilen, dass es so lange gedauert hat, bis jemand damit rausrückt, bist Du einer der wenigsten Profis hier
Meiner Erfahrung in anderen Foren zufolge führen solche Aussagen schnell dazu, dass "hilfsbereite" Forenteilnehmer einen bei künftigen "Anfragen" dann gerne mal ignorieren und gar keine Antwort geben, auch wenn die eine Antwort parat hätten. Nur so ein Hinweis.

OK, mein Konter war nicht grad sinnvoll.
Ich versuchs nochmal: Werner ist mit Abstand einer der erfahrendsten Programmierer hier.
Und: meiner Erfahrung im Leben zufolge, wird einem in dem Ausmaß geholfen, wie man selbst zu Helfen bereit ist ;-)
Ich habe auch keine Angst davor, sollte mir nicht geholfen werden.
Man muß schon ein wenig Größe mitbringen, um damit dann umzugehen.
Die richtige Antwort auf einen solchen Fall ist dann, weiter zu lernen und den/dem Anderen auch die Gelegenheit zu bieten, ihre/seine Meinung zu ändern ;-)

Und ich bin beruhigt.
Weil mir hier bereits sehr viel geholfen wurde, die Materie PHP zu verstehen.

Wie heißt es so schön bei JRR Tolkien: "Man kann auch von den Kleinsten lernen".
Die meisten versuchen sich weiter zu entwickeln.
Das steigert wiederum die Erfahrung des gesamten Pools.

Frohes Backen dann.

Stefek

"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #13 on: March 25, 2010, 01:58:47 PM »
Hallo Werner,

hier kommt mal wieder eine Anfängerfrage :-P  :evil:

Ist es möchlich, den aktuellen page_trail über echo oder print() auszugeben?
Wenn ja, wie?

Ich krieg immer nur 'Array' zurück.

Freue mich über einen Hinweis/Tipp.

Gruß,
Stefek
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline DarkViper

  • Forum administrator
  • *****
  • Posts: 3028
  • Gender: Female
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #14 on: March 25, 2010, 02:27:32 PM »
für sowas gibt's Stringfunktionen... .

echo implode(" > ", $wb->page_trail);

Der blaue Planet - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen

"You have to take the men as they are… but you can not leave them like that !" :-P
Das tägliche Stoßgebet: Oh Herr, wirf Hirn vom Himmel !

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #15 on: March 25, 2010, 05:38:15 PM »
Danke Werner,

ich versuche es damit.

EDIT:
Jo, sieht gut aus.
Jetzt muss ich mir nur überlegen, dass er mir nur den ersten ausgiebt.

Danke, das war auf jeden Fall die richtige Spur.


Gruß,
Stefek
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #16 on: March 25, 2010, 05:58:02 PM »
Hallo Doc,

ich mache es so jetzt:

Code: [Select]
<?php 
$firstpage 
implode(""$wb->page_trail); 
echo 
$firstpage[0];
?>


Vielleicht gehts schneller/kürzer, dann freue ich mich auf einen Tipp.

Gruß,
Stefek
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

Offline DarkViper

  • Forum administrator
  • *****
  • Posts: 3028
  • Gender: Female
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #17 on: March 25, 2010, 06:26:50 PM »
DAS funktioniert nicht, da $firstpage[0] nur das erste Zeichen des Strings zurückgibt....  was aber, wenn die Page_id 2/3 oder noch mehr stellig ist?

hättest gleich gesagt, was willst:

$trail = $wb->page_trail;   // kopie des Originals, da das nachfolgende shift das Array verändert!!
echo array_shift($trail);

genügt völlig...   ;)
Der blaue Planet - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen

"You have to take the men as they are… but you can not leave them like that !" :-P
Das tägliche Stoßgebet: Oh Herr, wirf Hirn vom Himmel !

Offline Stefek

  • Posts: 6177
  • Gender: Male
  • ("ړ)
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
« Reply #18 on: March 25, 2010, 06:37:49 PM »
Hallo Werner,
ja habe ich zu spät erkannt.
War grade dabei, die Tastatur zu verbiegen (auf der Suche nach der richtigen Funktion).

Vielen Dank.
Edit:

Jetzt werkt der Urahn:

Code: [Select]
<?php 
$trail $wb->page_trail;   
$urahn array_shift($trail);
echo $urahn;
?>

:-)
Stefek
"Gemeinsam schafft man mehr."

gemeinsam
1. mehreren Personen oder Dingen in gleicher Weise gehörend, eigen
2. in Gemeinschaft [unternommen, zu bewältigen]; zusammen, miteinander
#Duden

 

postern-length