Ich möchte folgenden HTML-Code mit Typoscript erstellen:
<!-- sidebar -->
<aside id="sidebar">
<ul>
<li class="block">
<h4>Categories</h4>
<ul>
<li class="cat-item"><a href="#" title="title">Film and video<span class="post-counter"> (2)</span></a></li>
<li class="cat-item"><a href="#" title="title">Print<span class="post-counter"> (2)</span></a></li>
<li class="cat-item"><a href="#" title="title">Photo and lomo<span class="post-counter"> (2)</span></a></li>
<li class="cat-item"><a href="#" title="title">Habitant morbi<span class="post-counter"> (2)</span></a></li>
<li class="cat-item"><a href="#" title="title">Film and video<span class="post-counter"> (2)</span></a></li>
<li class="cat-item"><a href="#" title="title">Print<span class="post-counter"> (2)</span></a></li>
<li class="cat-item"><a href="#" title="title">Photo and lomo<span class="post-counter"> (2)</span></a></li>
<li class="cat-item"><a href="#" title="title">Habitant morbi<span class="post-counter"> (2)</span></a></li>
</ul>
</li>
<li class="block">
<h4>Archives</h4>
<ul>
<li class="cat-item"><a href="#" title="title">January</a></li>
<li class="cat-item"><a href="#" title="title">February</a></li>
<li class="cat-item"><a href="#" title="title">March</a></li>
</ul>
</li>
</ul>
</aside>
<!-- ENDS sidebar -->
Mein Typoscript-Code sieht zur Zeit so aus:
lib.aside = COA
lib.aside {
10 = TEXT
10.wrap= <aside id="sidebar"><ul>|</ul></aside>
10.data = leveltitle:2 // Anpassen an die Ebene der übergeordneten Seite
20 = HMENU
20 {
entryLevel = 1 // Muss angepasst werden, je nach dem, auf welcher Ebene die übergeordneten Seiten liegen
1 = TMENU
1 {
wrap = <ul>|</ul>
NO.wrapItemAndSub = <li class="cat-item">|</li>
CUR = 1
CUR.wrapItemAndSub = <li class="block">|</li>
CUR.linkWrap = <strong>|</strong>
CUR.doNotLinkIt = 1
}
}
Das macht dann zur Zeit folgenden Quellcode:
<!-- sidebar -->
<div>
<aside id="sidebar"><ul>News</ul></aside><ul><li class="block"><strong>News</strong></li><li class="cat-item"><a href="index.php?id=597" onfocus="blurLink(this);" >Teilnahmebedingungen</a></li></ul>
</div>
<!-- ENDS sidebar -->
Irgendwie will es bei mir nicht so wie es sein sollte.
Kann mir bitte jemand helfen?
Ich bin etwas weiter gekommen. Mein TS-Code sieht nun so aus:
lib.aside = COA
lib.aside {
10 = TEXT
10.wrap= <aside id="sidebar"><ul><li class="block"><h4>|</h4>
10.data = leveltitle:2 // Anpassen an die Ebene der übergeordneten Seite
20 = HMENU
20 {
entryLevel = 1 // Muss angepasst werden, je nach dem, auf welcher Ebene die übergeordneten Seiten liegen
1 = TMENU
1 {
wrap = |</ul></aside>
NO.wrapItemAndSub = <li class="cat-item">|</li></ul>
CUR = 1
CUR.wrapItemAndSub = <ul><li class="cat-item">|</li>
CUR.linkWrap =
CUR.doNotLinkIt = 1
}
}
Das macht jetzt folgenden HTML-Code:
<!-- sidebar -->
<div>
<aside id="sidebar"><ul><li class="block"><h4>News</h4><ul><li class="cat-item">News</li><li class="cat-item"><a href="index.php?id=597" onfocus="blurLink(this);" >Teilnahmebedingungen</a></li></ul></ul></aside>
</div>
<!-- ENDS sidebar -->
Allerdings gibt es noch ein Problem: Am Ende des HTML-Codes sieht man zwei schließende "ul" Tags. Das ist auch richtig so, doch dort fehlt ein schließendes "li" von der li-Klasse "block".
Wie kann ich den TS-Code noch so verändern, dass der schließende li-tag der Klasse "block" eingefügt wird?
Klar, das Menü schreibst Du auch als Objekt 20. Also nach dem „10.wrap = <aside …..“
Und Klammer-Fehler hast Du auch.
Aus meiner Sicht würde es eher so Sinn machen:
lib.aside = COA
lib.aside {
wrap= <aside id="sidebar">|</aside>
10 = TEXT
10.data = leveltitle:-1 // Anpassen an die Ebene der übergeordneten Seite
10.wrap = <h3>|</h3>
20 = HMENU
20 {
entryLevel = -1 // Muss angepasst werden, je nach dem, auf welcher Ebene die übergeordneten Seiten liegen
1 = TMENU
1 {
wrap = <ul>|</ul>
NO.wrapItemAndSub = <li class="cat-item">|</li>
CUR = 1
CUR.wrapItemAndSub = <li class="block">|</li>
CUR.linkWrap = <strong>|</strong>
CUR.doNotLinkIt = 1
}
}
}
Habe es nun doch selber herausgefunden. Jetzt habe ich den TS-Code mit dem schließenden li-Tag geändert:
lib.aside = COA
lib.aside {
10 = TEXT
10.wrap= <aside id="sidebar"><ul><li class="block"><h4>|</h4>
10.data = leveltitle:2 // Anpassen an die Ebene der übergeordneten Seite
20 = HMENU
20 {
entryLevel = 1 // Muss angepasst werden, je nach dem, auf welcher Ebene die übergeordneten Seiten liegen
1 = TMENU
1 {
wrap = |</li></ul></aside>
NO.wrapItemAndSub = <li class="cat-item">|</li></ul>
CUR = 1
CUR.wrapItemAndSub = <ul><li class="cat-item">|</li>
CUR.linkWrap =
CUR.doNotLinkIt = 1
}
}
Danke fürs Lesen!
timmy2007 schrieb... Danke fürs Lesen!
Bitte, gern.
Geschrieben hatte ich aber auch – ob Du es gelesen hast … 😃
.
etux schrieb
timmy2007 schrieb... Danke fürs Lesen!
Bitte, gern.
Geschrieben hatte ich aber auch – ob Du es gelesen hast … 😃
.
Dann haben sich unsere Beiträge zeitlich überschnitten!
Warum wird mit meinem TS Code kein Menü angezeigt, das alle Unterseiten der aktuellen Seite beinhaltet, auf der das Menü zu sehen ist?
lib.asidepagesidebar = COA
lib.asidepagesidebar {
10 = TEXT
10.wrap= <aside id="sidebar"><ul><li class="block"><h4>|</h4>
10.data = leveltitle:1 // Anpassen an die Ebene der übergeordneten Seite
20 = HMENU
20 {
entryLevel = 1
special = list
maxItems = 10
1 = TMENU
1 {
wrap = |</li></ul></aside>
NO.wrapItemAndSub = <li class="cat-item">|</li>
expAll = 1
noBlur = 1
CUR = 1
CUR.wrapItemAndSub = <ul><li class="cat-item">|</li>
CUR.linkWrap =
CUR.doNotLinkIt = 1
}
}
}
Meine Seitenstruktur ist in etwa so:
Seite 1
-Unterseite 1
-Unterseite 2
-Unterseite 3
Was ist falsch am Code?
Ich bekomme nur die erste Unterseite angezeigt, wenn ich entrylevel auf 2 setze und die eigentliche Hauptseite wenn der Level auf 1 ist.
Alle Seiten und Unterseiten sind sichtbar!