Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 04. März 2015 13:06
- Bastelfix3
- hat von CMS/ms gehört
- Registriert: 19. Februar 2015
- Beiträge: 4
[GELÖST] menuactive kann ich nicht definieren
Hallo,
ich habe eine letzte Frage. Ich würde gerne die Elternelemente und die aktiven Elemente mit einer bestimmte Farbe definieren. Mir ist eigentlich klar wie das gehen sollte aber ich denke die Klassen sind in meinem Menutemplate nicht richtig definiert. Da ich praktisch keine ahnung von php habe kann mir vielleicht jemand helfen wie ich die template umschreiben muss um zum erfolg zu kommen?
Ich habe zwei menus eingebaut deswegen zwei menutemplates?!?. Die aktiven Menüpunkte beim horizontalen Menü reagieren aber nicht die Eltern der aktiven Menüpunkte.
In der Seitennavi reagiert garnichts. Die frage ist nur relevant für den Menüpunkt PROJEKTE weil es hier drei Menulevel gibt.
http://www.bachmannvanaaken.com/
css sieht so aus:
[== css ==]
.menuactive{ color: blue; }
.activeparent{ color: blue; }
.menuparent{color: blue;}
.currentpage{color: blue; }Menutemplate für horizontals menu:
{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->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent"><a class="menuactive menuparent" href="{$node->url}"><span>{$node->menutext}</span></a>
{elseif $node->haschildren == true and $node->type != 'sectionheader' and $node->type != 'separator'}
<li class="parent"><a class="parent" href="{$node->url}"><span>{$node->menutext}</span></a>
{elseif $node->current == true}
<li class="currentpage"><h3><span>{$node->menutext}</span></h3>
{elseif $node->type == 'sectionheader'}
<li class="sectionheader"><span>{$node->menutext}</span>
{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> <hr />
{else}
<li><a href="{$node->url}"><span class="navlistspan">{$node->menutext}</span></a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Menutemplate für vertikales menu:
<aside>
{if $count > 0}
<ul class="navlist">
{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->current == true}
<li class="navlist"><a href="{$node->url}" class="currentpage"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>
{elseif $node->parent == true && $node->depth == 1 and $node->type != 'sectionheader' and $node->type != 'separator'}
<li class="activeparent"> <a href="{$node->url}" class="activeparent"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>
{elseif $node->type == 'sectionheader'}
<li class="navlist">{$node->menutext}
{elseif $node->type == 'separator'}
<li class="navlist"> <hr class="separator" />
{else}
<li class="navlist"><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
</aside>
Über einen fingerzeig was hier falsch ist würde ich mich freuen.
Vielen Dank für eure Hilfe!
Hannes
Offline
#2 04. März 2015 14:46
- NaN
- Moderator

- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: [GELÖST] menuactive kann ich nicht definieren
In Deinem Fall sollte das recht einfach sein.
Das Problem ist, dass die Textfarbe "blue" nicht angewendet wird, weil der Selektor für diese Formatierung verglichen mit einer vorherigen Formatierung zu allgemein ist.
Im CSS gibt es eine Art "Hierarchie". Formatierungen "speziellerer" Selektoren haben Vorrang vor allgemeinen Selektoren. Das nennt sich "CSS Spezifität". Siehe z.B. hier, hier oder hier.
Bsp.:
a:link {
color: black;
}
.menuactive {
color: blue;
}Die Farbe "black" wird speziell auf bestimmte Arten von Links angewendet.
Die Farbe "blue" nur allgemein auf Elemente einer bestimmten Klasse.
Ersteres ist genauer, hat also mehr Gewicht.
Du müsstest in Deinem Stylesheet also einfach nur ein "a" vor die Klasse setzen:
a.activeparent{ color: blue; }
a.menuparent{color: blue;}
a.currentpage{color: blue; }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
#3 04. März 2015 16:28
- Bastelfix3
- hat von CMS/ms gehört
- Registriert: 19. Februar 2015
- Beiträge: 4
Re: [GELÖST] menuactive kann ich nicht definieren
JAAA,
werde deine Links studieren! Ich denke das ist der Grund warum ich mit einigen glitches zu kämpfen hatte.
Vielen Dank!
Offline
Seiten: 1