Hi ich versuche mir ne Tab Bar zu bauen und mit renderobj den ersten Tab zu öffnen.
Das Problem ist nur er verarbeitet dabei auch meine <ul>.
Wie kann ich erst den inneren <li> erstellen und im Anschluss daran den <ul> setzen ohne das dieser vom Split betroffen wird?
contentSlider1 = CONTENT
contentSlider1 {
wrap = <ul class="nav nav-pills">|</ul> <-- sollte wohl später ausgeführt werden?
table = tt_content
select {
#Seite mit Inhalten für den Slider
pidInList = 37
orderBy = sorting
where = colPos=0
languageField = sys_language_uid
}
renderObj = COA
renderObj {
wrap= ###SPLIT###|
10 = TEXT
10 {
field = uid
wrap = <a data-toggle="pill" href="#|">
}
20 = TEXT
20 {
field = header
wrap = |
}
30 = TEXT
30 {
wrap = |</a>
}
}
stdWrap.split {
token = ###SPLIT###
wrap = | || <li class="active">|</li> || <li>|</li>
}
}
Vielen Dank!
Kannst du mr kurz mal erklären, wie das ganze aussehen soll? Und field header? Also an und für sich ein normales page Menü?
Gern:
<ul class="nav nav-pills">|</ul>
<li class="active">
<a data-toggle="pill" href="#uid">header</a>
</li>
<li>
<a data-toggle="pill" href="#uid">header</a>
</li>
<li>
<a data-toggle="pill" href="#uid">header</a>
</li>
</ul>
Das oben gepostete Beispiel wrapt leider auch das <ul> wodurch in Abhängigkeit vom ###SPLIT### der vordere bzw. schließende <ul> Tag fehlerhaft ist.
Hallo.
Problem liegt in der Ausführungsreihenfolge innerhalb von CONTENT-Objekten: wrap wird vor stdWrap ausgeführt.
Lösung 1:
Packe das Menü in ein COA und setze erst dort das UL-Tag via wrap.
Lösung 2 (etwas eleganter):
Nutze die optionSplit-Eigenschaften der wraps (https://docs.typo3.org/typo3cms/TyposcriptReference/6.2/ObjectsAndProperties/Index.html#objects-optionsplit). Dann sparst Du Dir das ganze mit token etc.
renderObj.wrap = <li class="active">|</li>|*|<li>|</li>|*|<li>|</li>
Viele Grüße
Julian
Julian.Hofmann schriebHallo.
Problem liegt in der Ausführungsreihenfolge innerhalb von CONTENT-Objekten: wrap wird vor stdWrap ausgeführt.
Lösung 1:
Packe das Menü in ein COA und setze erst dort das UL-Tag via wrap.
Lösung 2 (etwas eleganter):
Nutze die optionSplit-Eigenschaften der wraps (https://docs.typo3.org/typo3cms/TyposcriptReference/6.2/ObjectsAndProperties/Index.html#objects-optionsplit). Dann sparst Du Dir das ganze mit token etc.
renderObj.wrap = <li class="active">|</li>|*|<li>|</li>|*|<li>|</li>
Kann es sein das der Option Split bei meiner Variante nicht funktioniert?
Viele Grüße
Julian
Hi Julian,
ich stelle mich wohl zu blöd an.
Bei Lösung 1 dachte ich mir, man muss eine neue "lib" aufmachen und die COA setzen und dann einfach das wrap überschreiben. Das ändert leider gar nichts.
contentSlider2 = COA
contentSlider2 < page.10.variables.contentSlider1
contentSlider2.wrap = <ul class="nav nav-pills">|</ul>
Bei Lösung 2 vermutete ich, das ich mein renderObj.wrap durch deins ersetzen könnte, er nimmt aber immer nur das erste Element.
Kannst du mir vielleicht doch noch einen Tip geben?
Mal ne andnere frage dazu, was ist eine tab bar? Ein accordion?
Dann kannst du das sowieso mit js lösen, dann brauchst kein active beim ersten element und es mach weder aus seo sicht noch aus user sicht einen unterschied.
Ich wähle ein Listenelement, welches ein div container sichtbar macht.
Beim Accordion sind alle Elemente untereinander bei den Tabs ein Menü-Bereich und Inhaltsbereich.
So spare ich Platz auf der Seite. Auf meiner alten Seite nutze ich 11-12 Tabs via Extension. Habe aber ein eigenartiges Phänomen das ab und zu auftritt.
Der oben gepostet Teil ist für das Menü. Ich hab den Code leicht abgewandelt ebenso für den Inhaltsbereich verwandt.
Geschlossen ist damit alles in Ordnung (da ich dafür kein stdWrap.split benötige)
Aber es muss doch mit einem geöffeneten Tab funktionieren?
(Upload von jpg kriege ich auch nicht hin -.-, https://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_tabs_dynamic&stacked=h)