Forums

Home » Liferay Portal » Deutsch

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
lutz Bremen
3rd level Navigation?
August 23, 2012 12:16 AM
Answer

lutz Bremen

Rank: Expert

Posts: 296

Join Date: October 20, 2011

Recent Posts

Hallo liebe Liferayer,

ich suche einen Weg in meiner Navigation die dritte Ebene Auch anzuzeigen. bis jetzt werden ja nur die childpages angezeigt. nun will ich auch deren childpages anzeigen lassen in meiner Navigationsleiste. Wie realisiere ich das? hat da jemand eine Idee? ich habe mir gedacht ich müsste in der navigation.vm einfach eine weitere Prüfung machen ob das child noch ein child hat. wenn ja dann wird es als ul li angezeit und ich definiere das dann im css.

Lg lutz
Olaf Kock
RE: 3rd level Navigation?
August 23, 2012 12:22 AM
Answer

Olaf Kock

LIFERAY STAFF

Rank: Liferay Legend

Posts: 1808

Join Date: September 23, 2008

Recent Posts

Wäre die Frage nur diese gewesen:
lutz Bremen:
ich suche einen Weg in meiner Navigation die dritte Ebene Auch anzuzeigen. bis jetzt werden ja nur die childpages angezeigt. nun will ich auch deren childpages anzeigen lassen in meiner Navigationsleiste. Wie realisiere ich das? hat da jemand eine Idee?

hätte ich geantwortet:
... in der navigation.vm einfach eine weitere Prüfung machen ob das child noch ein child hat. wenn ja dann wird es als ul li angezeit und ich definiere das dann im css.

Die Antwort ist also schon richtig: Im Theme die navigation.vm erweitern. Dort wird bereits durch die Child-Pages geloopt (prima denglisch mal wieder), und in dieser inneren Schleife gilt es, einfach noch einen weiteren Loop für die dritte Ebene einzubauen. Alle Interfaces, die dafür verwendet werden, sind bereits in navigation.vm verwendet - diese innere Schleife ist mehr oder weniger eine Kopie der zweiten Ebene.

Woran scheitert's?
lutz Bremen
RE: 3rd level Navigation?
August 23, 2012 2:19 AM
Answer

lutz Bremen

Rank: Expert

Posts: 296

Join Date: October 20, 2011

Recent Posts

soo ich habe mal noch ne schleife eingebaut aber noch nicht getestet. aber könnte das so gehen?

 1<nav class="$nav_css_class" id="navigation">
 2    <h1>
 3        <span>#language("navigation")</span>
 4    </h1>
 5
 6    <ul>
 7        #foreach ($nav_item in $nav_items)
 8            #if ($nav_item.isSelected())
 9                <li class="selected">
10            #else
11                <li>
12            #end
13                <a title="$nav_item.getURL()" $nav_item.getTarget()><span>$nav_item.icon() $nav_item.getName()</span></a>
14
15                #if ($nav_item.hasChildren())
16                    <ul class="child-menu">
17                        #foreach ($nav_child in $nav_item.getChildren())
18                            #if ($nav_child.isSelected())
19                                <li class="selected">
20                            #else
21                                <li>
22                            #end
23                                <a href="$nav_child.getURL()" $nav_child.getTarget()>$nav_child.getName()</a>
24                            </li>
25                        #end
26                    </ul>
27                        [u]#if ($nav_child.hasChildren())
28                    <ul class="grandchild-menu">
29                        #foreach ($nav_grandchild in $nav_child.getChildren())
30                            #if ($nav_grandchild.isSelected())
31                                <li class="selected">
32                            #else
33                                <li>
34                            #end
35                                <a href="$nav_grandchild.getURL()" $nav_grandchild.getTarget()>$nav_grandchild.getName()</a>
36                            </li>
37
38                        #end[/u]
39                    </ul>
40                #end
41                #end
42            </li>
43        #end
44    </ul>
45</nav>


das einzige was ich mich noch frage, woher weiss liferay was mein grandchild ist?
Olaf Kock
RE: 3rd level Navigation?
August 23, 2012 4:15 AM
Answer

Olaf Kock

LIFERAY STAFF

Rank: Liferay Legend

Posts: 1808

Join Date: September 23, 2008

Recent Posts

Sieht auf den ersten Blick gut aus. Wo kommt das "grandchild" her? Aus der #foreach Anweisung: Darin wird deklariert, dass innerhalb der Schleife $nav_grandchild definiert ist.
lutz Bremen
RE: 3rd level Navigation?
August 23, 2012 6:41 AM
Answer

lutz Bremen

Rank: Expert

Posts: 296

Join Date: October 20, 2011

Recent Posts

ka ich hab das so genannt. ich hab doch keine ahnung ^^.... weil das kann ja nicht so heissen wie das davor oder?