Home
Download
Add-ons
Help
Forum
Organisation
Project
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
May 26, 2012, 09:52:34 AM
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Search:
Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter
hier
und auf unserer
neuen Webseite
.
155536
Posts in
21713
Topics by
7737
Members
Latest Member:
chris85
WebsiteBaker Community Forum
Deutsch (German)
Hilfe/Support
(Moderator:
badknight
)
"if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
Pages: [
1
]
Go Down
Author
Topic: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst] (Read 870 times)
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
"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:
<?php
if (
PAGE_ID
==
2
||
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
»
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
kweitzel
Forum administrator
Offline
Posts: 6975
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
Logged
WebsiteBaker Org e.V. - for WebsiteBaker
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
Re: "if (oberster Punkt im Menü) {...." [Lösungssuche]
«
Reply #3 on:
March 20, 2010, 12:06:27 PM »
Ich präsentiere:
DAS MONSTER
Code:
<?php
$startingPID
=
4
;
$listPIDs
=
show_menu2
(
$aMenu
=
0
,
$aStart
=
$startingPID
,
$aMaxLevel
=
SM2_ALL
,
$aFlags
=
SM2_ALL
|
SM2_BUFFER
,
$aItemOpen
=
'[page_id],'
,
$aItemClose
=
''
,
$aMenuOpen
=
''
,
$aMenuClose
=
''
);
$listPIDs
.=
$startingPID
;
$pIDs
=
explode
(
","
,
$listPIDs
);
foreach(
$pIDs
as
$pIDitem
)
{
if (
PAGE_ID
==
$pIDitem
)
{
echo
'pID: '
.
$pIDitem
.
' ### HIER DER BLOCK ###'
;
}
}
?>
Und das MINIMONSTER
Code:
<?php
$startingPID
=
4
;
$listPIDs
=
show_menu2
(
0
,
$startingPID
,
SM2_ALL
,
SM2_ALL
|
SM2_BUFFER
,
'[page_id],'
,
''
,
''
,
''
);
$pIDs
=
explode
(
","
,
$listPIDs
.
$startingPID
);
foreach(
$pIDs
as
$pIDitem
)
{
if (
PAGE_ID
==
$pIDitem
)
{
echo
'pID: '
.
$pIDitem
.
' ### HIER DER BLOCK ###'
;
}
}
?>
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
»
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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
»
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
DarkViper
Development Team
Offline
Posts: 1252
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...
Dein 'heißer' Menüpunkt sei, sag mer mal $page_id = 2....
jetzt kommt ne riesen-komplizierte-wolpertinger-funktion::
Code:
<?php
if( isset(
$wb
->
page_trail
[
2
] ) )
{
echo
'die aktuelle Seite ist selbst Seite ID2 oder aber eine ihrer Abkoemlinge'
;
}else{
echo
'die aktuelle Seite hat rein gar nix mit Seite ID2 zu tun..'
;
}
?>
also wie gehabt.... extrem kompliziert... und nur was für Profis..
Werner
Logged
Anleitungen lesen und selber nachdenken ist anstrengend... Da lass ich doch lieber andere für mich denken...
In
1984
: Nineteen Eighty-Four is a unrealistic utopia!!
In
2012
: Nineteen Eighty-Four is a little piece only of our reality!!
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
DarkViper
Development Team
Offline
Posts: 1252
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....
Logged
Anleitungen lesen und selber nachdenken ist anstrengend... Da lass ich doch lieber andere für mich denken...
In
1984
: Nineteen Eighty-Four is a unrealistic utopia!!
In
2012
: Nineteen Eighty-Four is a little piece only of our reality!!
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
«
Reply #8 on:
March 21, 2010, 12:43:01 PM »
Quote from: DarkViper 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....
Quote from: abyys on March 21, 2010, 08:48:25 AM
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
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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.
Quote from:
http://www.websitebaker2.org/de/hilfe/entwicklerhandbuch/variablen-und-konstanten.php?lang=DE#anker2
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
»
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Waldschwein
Guest
Re: "if ( Punkt im Menü unterhalb pID 'n') {...." [gelöst]
«
Reply #11 on:
March 21, 2010, 02:45:44 PM »
Quote from: Stefek on March 21, 2010, 01:50:31 PM
Ich mache mir mehr Sorgen über Leute, die öfter mal ihren Profilnamen wechseln
[OT]Pff, also ich gucke nicht nach links wo der Profilname steht, dann gibt's gleich weniger Benutzer hier im Forum.
So von der Art des Schreibens und so.
Gruß Michael[/OT]
Logged
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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
Quote from: abyys on March 21, 2010, 01:42:44 PM
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
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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
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
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
DarkViper
Development Team
Offline
Posts: 1252
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);
Logged
Anleitungen lesen und selber nachdenken ist anstrengend... Da lass ich doch lieber andere für mich denken...
In
1984
: Nineteen Eighty-Four is a unrealistic utopia!!
In
2012
: Nineteen Eighty-Four is a little piece only of our reality!!
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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:
<?php
$firstpage
=
implode
(
""
,
$wb
->
page_trail
);
echo
$firstpage
[
0
];
?>
Vielleicht gehts schneller/kürzer, dann freue ich mich auf einen Tipp.
Gruß,
Stefek
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
DarkViper
Development Team
Offline
Posts: 1252
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...
Logged
Anleitungen lesen und selber nachdenken ist anstrengend... Da lass ich doch lieber andere für mich denken...
In
1984
: Nineteen Eighty-Four is a unrealistic utopia!!
In
2012
: Nineteen Eighty-Four is a little piece only of our reality!!
Stefek
WebsiteBaker Org e.V.
Offline
Posts: 4884
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:
<?php
$trail
=
$wb
->
page_trail
;
$urahn
=
array_shift
(
$trail
);
echo
$urahn
;
?>
Stefek
Logged
"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Pages: [
1
]
Go Up
Jump to:
Please select a destination:
-----------------------------
General
-----------------------------
=> General Announcements
=> Security Announcements
=> Documentation
=> WebsiteBaker Website Showcase
=> Guest Area & Off-Topic
-----------------------------
English
-----------------------------
=> WebsiteBaker 2.9
===> Announcements
===> Help/Support
=====> Modules / Extensions
===> Suggestions
===> Software bugs
=> Help & Support
=> Modules
=> Droplets (PHP code for use with Droplet module) & Snippets (raw PHP code)
=> jQuery
=> Templates, Menus & Design
=> WebsiteBaker Language Files
=> WebsiteBaker 2.x discussion
=> WebsiteBaker 3
=> Archive (posts up to 2007)
-----------------------------
Deutsch (German)
-----------------------------
=> Ankündigungen
=> WebsiteBaker 2.9
===> Ankündigungen
===> Hilfe/Support
=====> Module / Extensions
===> Vorschläge
===> Softwarefehler
===> Erfahrungs und Testberichte
=> Hilfe/Support
=> Module & Snippets
=> Templates & Design
=> Tutorials
=> jQuery
=> Diskussion über WB
=> Off-Topic
=> Archiv für Themen bis 2007
-----------------------------
Nederlands (Dutch)
-----------------------------
=> Aankondigingen
=> Hulp & Ondersteuning
=> Niet-Terzake (Off Topic)
-----------------------------
Francais (French)
-----------------------------
=> Help/Support
-----------------------------
Italiano (Italian)
-----------------------------
=> Help/Support
-----------------------------
Bakery (WB shop module)
-----------------------------
=> Bakery English
=> Bakery Deutsch
-----------------------------
KeepInTouch (Multi Contact Module)
-----------------------------
=> KeepInTouch English
=> KeepInTouch Deutsch
Loading...