(gelöst) Menu mit 3 Ebenen / .activeparent

Für Fragen und Diskussionen zum Layout und Design, Templates und Stylesheets sowie Themes
Post Reply
qnolinio
Forum Members
Forum Members
Posts: 20
Joined: Thu Nov 06, 2008 3:10 pm

(gelöst) Menu mit 3 Ebenen / .activeparent

Post by qnolinio »

Hallo zusammen

Bei mir funktioniert die Selektion der "Übermenupunkte" nicht so wie gewünscht.

Ich habe ein Menu auf der linken Seite (#menu_vert) mit den Ebenen 1+2.
Die Ebene 3 wird dann, falls vorhanden, oberhalb des Contents geführt (#menu_horiz).

Grundsätzlich sollte, sobald ein Menupunkt der Ebene 2 selektiert wird auch das entsprechende Menupunkt der Ebene 1 selektiert werden.
Dasselbe natürlich auch eine Stufe weiter: Wenn ich ein Menu aus der Ebene 3 selektiere, sollen die Obermenus der Ebenen 1+2 selektiert sein.

Nun habe ich in den CSS-Files mit der Option ".activeparent" herum probiert...
Bin jedoch leider zu keinem zählbaren Resultat gekommen  :(

Kann mir jemand die Funktion von .activeparent erklären oder mir einen Tip geben woran es liegen könnte?
Oder wie muss in den CSS-Files die Navigation ungefähr aussehen damit das .activeparent funktioniert?

Herzlichen Dank für Eure Hilfe!!

Grüsse
qolinio
Last edited by qnolinio on Fri Nov 05, 2010 7:20 pm, edited 1 time in total.
cyberman

Re: Menu mit 3 Ebenen / .activeparent

Post by cyberman »

Um das Verhalten von .activeparent zu verstehen, solltest du dir ergänzend das Template des MenüManagers ansehen ;).
qnolinio
Forum Members
Forum Members
Posts: 20
Joined: Thu Nov 06, 2008 3:10 pm

Re: Menu mit 3 Ebenen / .activeparent

Post by qnolinio »

Ich verwende das simple_navigation.tpl.
Das hilft mir aber nicht wirklich weiter :(

Der folgende Eintrag im navigation.css bewirkt bei meiner Seite gar nix:

.activeparent
{      /*Bewirkt dass die Übergeordneten Menupunkte auch gewählt sind*/
  text-decoration: none;
  color: #cd0062;
}
cyberman

Re: Menu mit 3 Ebenen / .activeparent

Post by cyberman »

Importier die das menuManager-Template mal in die Datenbank, dann kannst du dir es auch ansehen.

Entscheidend für .activeparent ist im Menü-Template

Code: Select all

{elseif $node->parent == true}
qnolinio
Forum Members
Forum Members
Posts: 20
Joined: Thu Nov 06, 2008 3:10 pm

Re: Menu mit 3 Ebenen / .activeparent

Post by qnolinio »

hi cyberman

danke für den input!
habe dort in diesem template gesehen, dass die klasse bei mir "menuactive" heissen muss. obschon in der 2ten Zeile was von .activeparent steht...

Egal, dieses problem scheint nun gelöst zu sein.

jetz kann ich aber noch nicht programmieren, welches layout der selektierte menupunkt in der 3ten ebene haben soll.

steht das auch im menu template? bin wohl etwas zu doof dazu.

Code: Select all

{* 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->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>{$node->menutext}</span></a>

{/if}

{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Last edited by qnolinio on Sat Oct 30, 2010 9:40 pm, edited 1 time in total.
cyberman

Re: Menu mit 3 Ebenen / .activeparent

Post by cyberman »

qnolinio wrote: steht das auch im menu template? bin wohl etwas zu doof dazu.
Na klar doch - nicht verzagen, Smarty ist 'ne richtig geile Kiste - macht mir jeden Tag von neuem Spaß, die zu verwenden ;).

Code: Select all

{elseif $node->current == true}
<li class="currentpage"><h3><span>{$node->menutext}</span></h3>
Für den aktuell aktiven Menü-Eintrag wird h3 verwendet, damit er nicht mehr klickbar erscheint ist.

Formatieren kannst du ihn über eine Kaskade

http://de.selfhtml.org/css/formate/kaskade.htm

hier also

Code: Select all

li li li.currentpage h3 {}
qnolinio
Forum Members
Forum Members
Posts: 20
Joined: Thu Nov 06, 2008 3:10 pm

Re: Menu mit 3 Ebenen / .activeparent

Post by qnolinio »

Danke cyberman!!!

Hast mir geduldig und tatkräftig geholfen :)
cyberman

Re: (gelöst) Menu mit 3 Ebenen / .activeparent

Post by cyberman »

Gern geschehen - wenn man es einmal verstanden hat, ist es gar nicht mehr so schwer.

Wenn es noch Fragen gibt - hier gern wieder ...
Post Reply

Return to “Layout und Design”