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

#1 06. Juni 2013 03:02

Silpancho
hat von CMS/ms gehört
Registriert: 06. Juni 2013
Beiträge: 9

MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

Hallo, ich bin neu hier auf dieser Seite, und auch ziemlich neu mit CMSMS.

Ich hab ein Problem, und zwar möchte ich ein mehrfarbiges Menü im MenuManager umsetzen, was
ja per ausschliesslich CSS mit eigenen Klassen gut möglich ist, weil man im HTML nachher jeden
<li> mit einer eigenen Klasse versehen kann (zb. <li class="rot"), oder gar ein Hintergrundbild anhängen
kann und für jeden li wirklich was eigenes zaubern kann..

jetzt hab ich aber gemerkt, dass wenn ich MenuManager ins Spiel bringe und die Navigation dynamisch generieren lassen
möchte, leider meine Hintergrundbilder weg sind und nur noch transparenz zu sehen ist..
hier der Link zur Navi, wie sie aussehen sollte:
Navi

Meine Frage ist: lässt sich so was überhaupt mit dem MenuManager umsetzen? wenn ja, wie? meine Kenntnisse begrenzen sich hauptsächlich auf CSS/HTML und ich hab keinen Schimmer wie ich das per MenuManager bewerkstelligen soll.
Wie kann man denn jeden Menüpunkt einzeln ansprechen und jedem eine eigene Farbe geben?

Falls irgendwer eine Ahnung hat, wär ich froh um jeden Hinweis.
Sonst bleibt mir wohl nur die Möglichkeit, das Menu über das Seiten-Template statisch einzufügen.

Liebe Grüsse smile
Silpancho

Offline

#2 06. Juni 2013 06:10

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.935
Webseite

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

Wilkommen im Forum smile

Dazu gibt es verschiedene Möglichkeiten. Eine Möglichkeit ist, dass du das Menü dynamisch durchummerierst. Statt den Klassen "rot", "grün", "blau", etc. nutzt zu z.B. "p1", "p2", "p3, etc.:


MenüManager Template

{* CSS classes used in this template:
.activeparent - The top level parent when a child is the active/current page
li.active0n h3 - n is the depth/level of the node. To style the active page for each level separately. The active page is not clickable.
.clearfix - Used for the unclickable h3 to use the entire width of the li, just like the anchors. See the Tools stylesheet in the default CMSMS installation.
li.sectionheader h3 - To style section header
li.separator - To style the ruler for the separator *} 

{if $count > 0}
<ul>
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="<ul>" times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}
{if $node->type == 'sectionheader'}
<li class="sectionheader"><span>{$node->menutext}</span>
{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> <hr />
{elseif $node->depth == '1'}
<li class="p{$node->hierarchy}"><a href="{$node->url}" class="p{$node->hierarchy} {if $node->current}current{/if}"><span>{$node->menutext}</span></a>
{else}
<li><a href="{$node->url}" {if $node->current}class="current"{/if}><span>{$node->menutext}</span></a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}

Eine andere Variante ist, im Menü die Extra-Felder der Seite auszuwerten und da die jeweilige Klasse zu hinterlegen. Dies ist die flexiblere, jedoch auch aufwändigere Methode, da in diesem Fall bei jeder Seite etwas hinterlegt werden muss (manuelles Anpassen).


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#3 06. Juni 2013 15:15

Silpancho
hat von CMS/ms gehört
Registriert: 06. Juni 2013
Beiträge: 9

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

hei nockenfell, besten Dank für deine rasche Antwort! Toller Support!
Die Klassen mit p1, p2 usw. zu bezeichnen, hat mit den Hauptmenü-Links auch super geklappt! Dankeschön!

Wie könnte ich denn jetzt die Untermenüs ansprechen?

Edith sagt: die spricht man mit 'p1 ul li a' an, war schon etwas voreilig mit meiner Fragerei hmm
Danke nockenfell


einen Gruss in den schönen Aargau!! wink
Silpancho

Beitrag geändert von Silpancho (06. Juni 2013 15:28)

Offline

#4 06. Juni 2013 15:40

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

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

Ich habe das mal so realisiert, dass ich im Menütemplate hinter die Klasse einfach ein _{§page_alias} eingefügt habe.

Offline

#5 18. August 2014 05:09

Silpancho
hat von CMS/ms gehört
Registriert: 06. Juni 2013
Beiträge: 9

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

hei hei ich bins mal wieder.

Ich bin grad mal wieder hinter dieser Seite mit dem farbigen Menü dahinter und habe grosse Probleme damit..

Die Seite sollte momentan zweisprachig umgesetzt werden, wobei ich das mit der Seiten-Struktur löse (also 1. es 1.1 ... 1.2... 1.2.1 ....   2. de    2.1 ....   usw usf, wie im Thread von Nogga beschrieben). Das Umstellen wär auch kein Problem, aber das Menü mackt jetzt ganz schön rum. Irgendwie werden die Formatierungen der Klassen .p1, .p2 (wie von Nockenfell weiter oben beschrieben) usw nicht mehr "gefunden" und es bleiben nur die Formatierungen des Menüs an sich.

Eine Manipulation des Menütemplates fruchtete nicht, aber auch nicht das Ausprobieren wohl aller möglichen ul-li-a-Kombinationen im Styleshee an den Klassen .p1-.p6...
Und um den Betrieb der Seite nicht zu gefährden hab ich alles wieder wie vorhin eingestellt, aber das löst mein Problem natürlich noch nicht.

Hat jemand eine Idee wie ich die Formatierungen wieder hinkriege, da alle Menüpunkte eine Stufe nach unten gerutscht sind? Vielleicht im Template oder vielleicht beim Ansprechen der Klassen im Stylesheet?

Ich hoffe mein Problem verständlich geschildert zu haben und hoffe auf rasche Hilfe. Vielleicht von Nockenfell selbst?
Besten Dank im voraus

Offline

#6 18. August 2014 09:12

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

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

Die Idee mit den p1 ... p[n]-Klassen hat einen Haken:

{elseif $node->depth == '1'}
<li class="p{$node->hierarchy}">

Es wird auf die Hierarchie des jeweiligen Menüpunktes zugegriffen.
Das mag funktionieren, solange die Menüpunkte in der ersten Ebene liegen.
Wenn Du jetzt aber alle Menüpunkte eine Hierarchie-Ebene weiter setzt, dann würde aus der ursprünglichen Klasse "p1" -> "p1.1" werden. Das wird allerdings mit dieser if-Abfrage ($node->depth == 1) abgefangen. Dadurch bekommen die Menüpunkte, die du eigentlich im CSS ansprechen willst, überhaupt keine p[n]-Klasse.

Ändere mal die Abfrage nach $node->depth == 1 auf $node->depth == 2.
Dann erhalten sie die Klasse(n)
p1.1, p1.2, p1.3 ... p1.n (für Spanisch)
p2.1, p2.2, p2.3 ... p2.n (für Deutsch)
etc.
Dann kannst Du im Stylesheet so darauf zugreifen:

ul li[class$=".1"]
ul li[class$=".2"]
ul li[class$=".3"]
...
ul li[class$=".n"]

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

#7 18. August 2014 09:32

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.935
Webseite

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

Eine andere, schönere Variante sind die nth-Child Möglichkeiten von Stylesheets.
Siehe z.B. http://bit.ly/1AqOrmG

http://css-tricks.com/how-nth-child-works/


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#8 18. August 2014 12:14

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.232
Webseite

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

Mal eine Idee.
Als Seitenspezifische Smarty ein assign von eine variabele die dann als class in Menümanager genutzt wird.
Habe leider momentan zu wenig Zeit es zu probieren.

mfg
Jan

Leider geht nicht

Beitrag geändert von Janl (18. August 2014 17:24)


Kubuntu 22.04 - Win 11 pro / Kubuntu 20.04  - win10 pro

Offline

#9 18. August 2014 14:00

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

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

nth-Child

Bah.
Viel zu einfach wink


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

#10 18. August 2014 15:52

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.935
Webseite

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

NaN schrieb:

nth-Child

Bah.
Viel zu einfach wink

big_smile


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#11 18. August 2014 16:21

Silpancho
hat von CMS/ms gehört
Registriert: 06. Juni 2013
Beiträge: 9

Re: MenuManager: mehrfarbiges Dropdown-Menu umsetzen?

hei das ging ja schnell! Schon toll wenn man auf eine Profi-Community zählen kann, die dann auch noch allzeit bereit steht!
*Daumenhoch*

Ich werd die Lösungsvorschläge dann zu nächtlicher Stunde mal ausprobieren und gebe dann Bescheid wies lief.

Mit $node->depth == '2' hab ich auch rumprobiert, doch wie ich die Klassen anspreche wusste ich nicht, danke NaN.

falls das dann nicht hilft probiere ich noch die "einfache" Variante  cool

Merci villmal
Silpancho

Offline