Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 25. November 2013 15:41

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

[GELÖST] Menumanager: Mal wieder childrenof

Hallo,

für mein letztes Problem gab es ja im Forge ein Bugfix:
http://www.cmsmadesimple.de/forum/viewtopic.php?id=2350


Diesmal ähnlich. Sobald ich childrenof benutze, werden andere Parameter wie start_level ignoriert. Er zeigt immer auch die erste Ebene an, nicht nur die Ebene, die unter start_level angegeben wurde.

Wie kriege es hin, bei mehreren Menüs (mit Abschnittsüberschriften realisiert) nur jeweils bestimmte Ebenen auszugeben?

Offline

#2 26. November 2013 07:14

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Menumanager: Mal wieder childrenof

Wie sieht dein MM-Template aus?

Mit welchen Parametern rufst du MM auf?

Offline

#3 26. November 2013 09:22

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Menumanager: Mal wieder childrenof

childrenof und start_level ergibt meiner Meinung nach keinen Sinn.
Entweder Du lässt nur die Kindelemente einer bestimmten Seite anzeigen oder Du lässt alle Seiten ab einer bestimmten Ebene anzeigen. Wenn man im Code schaut, dann sieht man auch, dass dort nur nach entweder/oder entschieden wird:

if (isset($params['childrenof']) )
{
	...
}
else if (isset($params['start_page']) || isset($params['start_element']))
{
	...
}
else if (isset($params['start_level']) && intval($params['start_level']) > 1)
{
	...
}
else if (isset($params['items']))
{
	...
}
else
{
	...
}

Ergo: Sobald childrenof gesetzt wird, werden die Parameter start_page/start_element, start_level und items ignoriert. Macht ja dann auch keinen Sinn mehr.

Wie kriege es hin, bei mehreren Menüs (mit Abschnittsüberschriften realisiert) nur jeweils bestimmte Ebenen auszugeben?

Sollte meiner Meinung nach mit dem Parameter start_page bzw. start_element gehen.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#4 26. November 2013 10:19

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: [GELÖST] Menumanager: Mal wieder childrenof

Erstmal danke ..

NaN schrieb:

Sollte meiner Meinung nach mit dem Parameter start_page bzw. start_element gehen.


Beginnt die Menü-Anzeige ab der festgelegten Startseite und zeigt nur dieses Element und dessen untergeordneten Seiten an. Verwendet den Seiten-Alias.

... ich möchte aber doch, dass NUR die untergeordneten Elemente angezeigt werden.



Menü oben--> Level 2 (weil Level 1 ja die Abschnittüberschrift ist):

----------------------->Punkt 1 | punkt 2 | punkt 3

Menü oben ---> Level 3

Unterpunkt 1
Unterpunkt 1
Unterpunkt 1




Menu unten ---> Level 2
Punkt 1
Punkt 2

Beitrag geändert von antibart (26. November 2013 10:21)

Offline

#5 26. November 2013 10:43

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Menumanager: Mal wieder childrenof

Hm, verstehe.
Müsste aber doch eigentlich mit start_level gehen.
(Kann das hier gerade leider nicht selber testen.)
Wie sieht denn die Seitenstruktur genau aus und was willst Du wo anzeigen?
Kann mir das nur schwer vorstellen.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#6 26. November 2013 10:48

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: [GELÖST] Menumanager: Mal wieder childrenof

Ich bin jetzt über einen anderen Weg FAST am Ziel.

Oben horizontal (menu_oben):
{menu number_of_levels='1'  childrenof='menu_oben} ---> OK

---------

Links vertikal oben
{menu number_of_levels='1' start_level='3' excludeprefix='menu_unten'} --- > Fehler

-----------

Menu links unten ("menu_unten")
{menu number_of_levels='1'  childrenof='menu_unten'}

-----------

Alles soweit okay: Außer, dass an der zweiten Position der Parameter excludeprefix nicht wirkt.  Dort werden trotzdem die Punkte aus "menu_unten" ausgegeben, sobald ich einen Punkt aus "Menu_unten" anklicke. Menu_unten wird dann doppelt ausgegeben. Ich habe excludeprefix immer so verstanden, dass auch deren Unterpunkte von der Anzeige ausgeschlossen werden.

NaN schrieb:

Wie sieht denn die Seitenstruktur genau aus und was willst Du wo anzeigen?
Kann mir das nur schwer vorstellen.

Eiegntlich nicht Ungewöhnliches.

1. Oben horizontal das Hauptmenü (das Leistungsangebot).
2. Links die Unterpunkte des Hauptmenüs (deatails des Leistungsangebotes)
3. Darunter ein permanentes, davon unabhängiges Menü mit Standards (Über mich, Kontakt, Preise. Modalitäten usw )

Beitrag geändert von antibart (26. November 2013 11:15)

Offline

#7 26. November 2013 12:24

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: [GELÖST] Menumanager: Mal wieder childrenof

Okay - auch hab jetzt vor jeden oben unerwünschten alias ein u- gesetzt und so funktioniert das mit dem excludeprefix.

Kann man so ein prefix nicht auch irgendwie vererben? Über Seitenattribute oder so? Das wäre enorm praktisch. Dann wäre amn etwas freier.

Beitrag geändert von antibart (26. November 2013 12:29)

Offline

#8 26. November 2013 13:44

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Menumanager: Mal wieder childrenof

Eiegntlich nicht Ungewöhnliches.

Das ist die Darstellung, wie sie auf der Seite ausgegeben werden soll. Okay.
Aber ich meinte wie diese Inhalte organisiert sind (also der Seitenbaum im Backend).
Ich kann sonst nicht nachvollziehen welche Parameter man wo verwenden kann.

Es gäbe da z.B. noch die Kombination von start_element und show_root_siblings.
D.h. Du gibst nicht menu_unten als start_element an, sondern den ersten Menüpunkt unter menu_unten.

{menu number_of_levels=1 start_element="3.1" show_root_siblings="1"}

oder

{menu number_of_levels=1 start_page="uber_mich" show_root_siblings="1"}

Ansonsten sollte laut Beschreibung excludeprefix die Kind-Elemente eines Menüpunktes mit entsprechendem Prefix eigentlich nicht anzeigen. Hab aber leider keine Zeit, mich da durch den Code zu wühlen um herauszufinden, warum es das bei Dir trotzdem tut.
Ich vermute einfach mal, dass die Kombi von number_of_levels, start_level und excludeprefix nicht richtig funktioniert, wenn man sich innerhalb der Ebene befindet, die man bei start_level angegeben hat.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#9 26. November 2013 17:03

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: [GELÖST] Menumanager: Mal wieder childrenof

NaN schrieb:

Ansonsten sollte laut Beschreibung excludeprefix die Kind-Elemente eines Menüpunktes mit entsprechendem Prefix eigentlich nicht anzeigen.

Ja - ich habe allerdings noch nie erlebt, dass das genauso geklappt hat. Deswegen habe ich früher immer alle aliase einzeln aufgeführt.

Vielleicht ist die Übersetzung etwas unklar.

Mit diesem Parameter werden alle Einträge (und deren untergeordneten Seiten), die den festgelegten Prefix enthalten, von der Anzeige ausgeschlossen

.. es funktionierte bei mir erst, nachdem ich die Aliases der untergeordneten Seiten ebenfalls mit dem festgelegten Präfix versehen habe (hier ein u-). Der Präfix scheint also auch bei unterpunkten notwendig zu sein.

Mit der jetzigen Lösung komm ich aber erstmal klar. Ich danke (mal wieder)

Beitrag geändert von antibart (26. November 2013 17:05)

Offline