Page 1 of 2
NAV_LIST_UL - Menüpunkte einzeln anzeigen
Posted: Wed 24. Oct 2007, 23:56
by gab
Hallo,
ich arbeite mit 1.3.3 und habe eine kleine Frage zu NAV_LIST_UL. Meine Website hat folgende Struktur:
- Home
--- Ebene 1
------ Ebene 1.1
------ Ebene 1.2
--- Ebene 2
--- Ebene 3
------ Ebene 3.1
------ Ebene 3.2
Nun möchte die Menüpunkte der obersten Ebene quer über die Startseite verteilt anordnen, also "Ebene 1", "Ebene 2", "Ebene 3" sollten unabhängig und ohne Unterebenen angezeigt werden.
Für die Anzeige von "Ebene 1" z.B. nutze ich also:
Code: Select all
<div class="navi_singlepoint">{NAV_LIST_UL:P,1,1,,}</div>
Im FF wird brav nur "Ebene 1" angezeigt, im IE7 hingegen, werden mir unterhalb von "Ebene 1" zusätzlich noch die Unterebenen 1.1 und 1.2 angezeigt. Wie krieg ich die bloss weg
Danke für Eure Hilfe.
gab
Posted: Thu 25. Oct 2007, 06:28
by flip-flop
Hi gab,
ich würde das so machen: <div class="navi_singlepoint">{NAV_LIST_UL:F,0,1,,}</div>
Knut
Posted: Thu 25. Oct 2007, 10:31
by gab
danke Knut, aber das gibt bei mir leider nicht das gewünschte Resultat. Ich teste:
{NAV_LIST_UL:F,0,1,,} = Ebene 1____Ebene 2____Ebene 3
{NAV_LIST_UL:P,1,1,,} = Ebene 1____Ebene 1.1____Ebene 1.2
{NAV_LIST_UL:FP,1,1,,} = Ebene 1____Ebene 1.1____Ebene 1.2
Das was ich möchte ist, dass nur ein einzelner Menupunkt, also z.B. nur "Ebene 1" ausgegeben wird:
{NAV_LIST_UL:????????} = Ebene 1
Kann man so was machen?
Danke und Gruss
gab
Posted: Thu 25. Oct 2007, 11:19
by flip-flop
Das geht so ohne weiteres mit Bordmitteln nicht. Wäre auch komisch, wenn die Navi einzelne Menüpunkte anzeigen würde. Die ganze Automatik wäre infrage gestellt.
Wenn du nur P angibst wird auch das child Element ausgegeben. Du kann natürlich mit IDs arbeiten und die anderen Ebenen via CSS mit einem Layer überlagern, bzw. verstecken. Ist aber gefrickel.
Besteht keine Möglichkeit, diese Menüpunkte fest in die Vorlage zu schreiben?
Um die Positionen auf der Seite zu bestimmen geht es ohn IDs doch gar nicht.
Knut
Posted: Thu 25. Oct 2007, 13:07
by gab
Danke Knut, ist ziemlich einleuchtend was du sagst. Fest in die Vorlage schreiben kann ich natürlich, möchte ich wenns möglich ist aber verhindern...
Ich habe mir das so vorgestellt (die Navipunkte wild über die Website verteilt):
<div class="navi_singlepoint">{NAV_LIST_UL:P,1,1,,}</div>
<div class="navi_singlepoint">{NAV_LIST_UL:P,2,1,,}</div>
<div class="navi_singlepoint">{NAV_LIST_UL:P,3,1,,}</div>
IDs:
- Home
--- Ebene 1 (ID 1)
------ Ebene 1.1
------ Ebene 1.2
--- Ebene 2 (ID 2)
--- Ebene 3 (ID 3)
------ Ebene 3.1
------ Ebene 3.2
Siehst Du eine Möglichkeit in der CSS die Childelemente irgendwie auf Höhe 0 zu setzen bzw. eine andere Möglichkeit die unsichtbar zu machen?
Danke für die Hilfe.
gab
Posted: Thu 25. Oct 2007, 13:24
by flip-flop
Wie gesagt, du musst IDs vergeben. Außerdem fragst du keinen Status ab, ob aktiv oder so etwas. Dann ging das sicher auch noch anders.
Siehst Du eine Möglichkeit in der CSS die Childelemente irgendwie auf Höhe 0 zu setzen bzw. eine andere Möglichkeit die unsichtbar zu machen?
Ist etwas besseres CSS. Auf einschlägigen Seiten nachlesen.
Docu NLU - KH (flip-flop) wrote:Die eigentliche Beschreibung dieser Parameter findest du hier:
http://www.phpwcms.de/forum/viewtopic.php?t=12165 (Engl.)
Das ist der Ursprung:
Code: Select all
@string $parameter =
"menu_type, start_id, max_level, class_path, class_active, ul_id_name, wrap_ul_div(0 = off, 1 = <div>, 2 = <div id="">), wrap_link_text(<em>|</em>)"
Also{NAV_LIST_UL:F,32,3,act_path,active,navID,0,<span>|</span>}
Sprich: F=aktive Ebenen aufklappen (andere zu), 32=Ebene-ID, 3=max.Tiefe Ebenen ausgeben, aktiver Pfad Klasse=act_path, aktiver Link Klasse=active, kein DIV, <span>Text wird ummantelt</span>)
menu_type:
Code: Select all
(Immer ab der eingegebenen EbeneID zu betrachten)
leer: Der gesamte Navistruktur wird komplett geoeffnet ausgegeben
F: Die Navistruktur wird jeweils ab der aktivierten Ebene, Ebene für Ebene ausgegeben
VCSS: Vertikales Menü mit Flyouts (Navistruktur wird nach rechts hin in Fenstern ausgegeben)
HCSS: Horizontales Pulldown (Navistruktur wird nach unten hin geöffnet. Ab hier ähnlich VCSS)
P: Das Elternelement (parent) wird auch ausgegeben. Die Klasse sub_parent wird erzeugt.
FP: Wie "F" jedoch mit Elternelement
VCSSP: Wie "VCSS" jedoch mit Elternelement
HCSSP: Wie "HCSS" jedoch mit Elternelement
start_id
-------------------
Die Ebenen-ID ab der die Navistruktur ausgegeben wird.
Die ID-Ebene selbst wird nicht ausgegeben. Dazu dient der P-Schalter.
max_level
-------------------
Die Tiefe der Navigation. (Wie viele Ebenen sollen max. ab der Startebene ausgegeben werden)
class_path
-------------------
Diese Klasse wird ausgeben bei den aktiven Strukturen im Navigationsbaum.
So kann der Link verfolgt werden (link tracing).
Bsp. mit act_path: <li class="sub_ul act_path active">
class_active
-------------------
Der absolut aktive Link
Bsp.mit active: <li class="sub_ul act_path active">
ul_id_name
-------------------
Jedem Listenelement (ul und li) wird eine eigene ID zugeordnet und ausgegeben.
Bsp. mit nav: <ul id="nav_0" class="active"> <li id="li_nav_6" class="sub_no">
wrap_ul_div(0 = off, 1 = <div>, 2 = <div id="">, 3 = <div class="">
-------------------
Die Listenelement werden je nach Schalter in div, div id oder div class eingepackt.
Bsp. bitte ausprobieren und in den generierten HTML Text schauen.
wrap_link_text(<em>|</em>)
-------------------
Der Text im Link wird ummantelt (gewrappt. (Platzhalter für den Text ist | )
Bsp.: wrap_link_text(<span>|</span>)
<li class="sub_no"><a href="index.php?fortbildung"><span>Fortbildung</span></a></li>
Ein sehr mächtiges Werkzeug!
Automatisch erzeugte Klassen in der Liste
Code: Select all
<li class="sub_parent"> ist das parent = Elternelement (Schalter P)
<li class="sub_ul_no"> Im Listenelement keine Unterstruktur)
<li class="sub_ul"> Eine Unterebene folgt und ist geöffnet
<li class="sub_ul_true"> Eine Unterebene existiert, ist jedoch geschlossen, also nicht aktiv
Der Parameter menu_type muss angegeben werden. Alle anderen Parameter sind optional.
{NAV_LIST_UL:,,,,,,,,} oder {NAV_LIST_UL:}würde funktionieren.
(Alles ist aufgeklappt ohne irgendwelche spez. Klassenangaben)
Die Kommata sind optional, müssen also in so einem Fall nicht gesetzt werden.
{NAV_LIST_UL} dagegen wird nicht funktionieren. Der Doppelpunkt muss auf jeden Fall gesetzt werden.
Knut
Posted: Thu 25. Oct 2007, 15:09
by Detlef
Ich verstehe das so, dass du, wenn Ebene 1 aufgerufen wird, die Ebene 1.1 angezeigt haben möchtest.
Die Anzahl der Ebenen werden sich sicherlich in Grenzen halten.
Dann würde ich unter Admin / Seitenstruktur einfach für die Ebene 1 eine Weiterleitung auf Abene 1.1 eintragen.
Posted: Fri 26. Oct 2007, 11:07
by gab
Danke für die Tipps. Ich möchte schlicht und einfach einen einzelnen Menüpunkt mit NAV_LIST_UL an beliebiger Stelle auf der Homepage platzieren können, ohne dass Childelemente angezeigt werden. Die Childelemente mit CSS unsichtbar zu machen hab ich nicht geschafft, da ich den Linktext nicht unsichtbar machen kann...
...da gibts wohl keine Lösung ohne gebastel

, oder?
Posted: Fri 26. Oct 2007, 11:15
by flip-flop
Es geht nicht mit NAV_LIST_UL, dafür ist die Navi nicht gemacht.
Breche das Problem einmal auf das Wesentlich runter.
1. Du möchtest einen Kategorielink ID-basiert ansprechen und ausgeben.
2. Werden Zustände abgefragt oder verlangt? (Akiv, hoover usw.)?
3. Gäbe es dazu Alternativen wenn die Zustandsfrage geklärt ist?
Posted: Sat 27. Oct 2007, 10:35
by gab
1. Du möchtest einen Kategorielink ID-basiert ansprechen und ausgeben.
genau
2. Werden Zustände abgefragt oder verlangt? (Akiv, hoover usw.)?
ja, ich brauche drei Zustände: aktiv, hover, normal und muss die mit CSS formatieren können.
3. Gäbe es dazu Alternativen wenn die Zustandsfrage geklärt ist?
{NAV_LIST ...}, {NAV_ROW ...} {NAV_TABLE ... } helfen mir dabei wohl nicht weiter, oder? (Ideal wäre ja so was: {NAV_LIST_SINGLEPOINT:IndexName:list_class} oder einen zusätzlichen Schalter bei NAV_LIST_UL...)
Kannst Du mir einen Tipp geben, wo ich suchen soll?
Danke und Gruss, gab
Posted: Sun 28. Oct 2007, 12:27
by Oliver Georgi
wozu Singlepoint?
Lies Dir mal die Infos zu NAV_LIST_UL genau durch. Dort kannst Du festlegen, bis in welche Tiefe die angezeigte Struktur verfolgt werden soll. Ich denke für Deinen Fall genügt, diesen Wert auf 1 zu setzen.
Oliver
Posted: Sun 28. Oct 2007, 13:39
by flip-flop
Singlepoint und NAV_LIST_UL: Hatten wir alles schon durch.
Er möchte einfach nur einen Menüpunkt darstellen und dann den nächsten an einer anderen Stelle usw.
Allerdings mit einem Zustand "activ" bzw. "active path". Das geht mit Bordmitteln noch nicht. Muss ein kleines Proggy her.
Knut
Posted: Sun 28. Oct 2007, 14:15
by Oliver Georgi
Prinzipiell geht das auch mit Bordmitteln in Verbindung mit CSS. Wozu wurde schließlich position:absolute erfunden.
Oliver
Posted: Sun 28. Oct 2007, 14:45
by flip-flop
Ja natürlich können die überflüssigen Links versteckt werden, hat er ja schon probiert aber nicht hinbekommen. War ja auch mein Vorschlag.
Trotzdem wäre ein Singlepoint Link mit Zuständen gut.
Knut
Posted: Sun 28. Oct 2007, 16:55
by Oliver Georgi
welche überflüssigen Links. Dann sollte man mal überlegen, ob man nicht etwas an der Struktur falsch gemacht hat.
Oliver