Hallo,
ich möchte nur die Überschriften der Contentelemente einer Seite (hier aus col=0)in eine Liste im frontend ausgeben. Das geht mit dem unten gezeigten Code.
In Zeile 16 seht ihr, dass jede Überschrift über dataWrap mit einem individuellen Link ausgestattet wird.
temp.tabContent = COA
temp.tabContent.5 = HTML
temp.tabContent.5.value = <div id="tabContent"><ul>
temp.tabContent.10 = CONTENT
temp.tabContent.10 {
table = tt_content
select {
orderBy = sorting
where = colPos=0
languageField=sys_language_uid
}
renderObj = COA
renderObj {
10 = TEXT
10.dataWrap = <a href="#tab{field:uid}">|</a>
10.field = header
}
}
temp.tabContent.30 = HTML
temp.tabContent.30.value = </ul></div>
Ich glaube es ist die typolink Funktion von typo3 die eine HTML Ausgabe der Links, die so aussehen erzeugt:
<a href="index.php?id=18#tab23">test1</a>
Ich brauche aber eine Ausgabe des Links ohne dass typolink den Seitenlink schreibt. Also ohne index.php?id=18. Genau so:
<a href="#tab23">test1</a>
Hier komme ich nicht weiter. Wie realisiert man das? Für ein wenig Hilfestellung wäre ich dankbar.
udowald
Hallo,
dann schreib doch selbst die richtige Seiten-ID davor
georg
Hallo,
nein, ich Brauche die href="#tabXY" für die Überschrift und für das dazugehörige Contentelement mit ein <div id=tabXY> um eine javascript Funktiontion in diesem speziellen Fall hinzuzufügen.
Die Contentelemente habe ich auch mit dataWrap gewrapt. Das geht einwandfrei, da ja nur ein "div" mit der uid eingebaut wird.
Für die Überschrift brauche ich einen Link
Egal welches cObject ich verwende, ein TEXT oder HTML um den das href zu bauen, sobald ein "<a href=" gefunden wird, wird auch der Seitenlink eingesetzt.
Ich weiß im Moment nicht wie ich das lösen kann.
udowald
warum nimmst Du nicht das Abschnittsmenü was schon eingebaut ist? Auch das kannst Du manipulieren.
Hallo,
ja das wäre eventuell eine Lösung. Ich muss mich aber erst mal umsehen was ich dazu an reinen Typoscript Ansätzen finde, da ich damit noch nicht gearbeitet habe. Ich kann ja auf keinen Fall brauchen, dass der Redakteur ein Abschnittsmenu als Seiteninhalt anlegen muss, aber das müsste sich machen lassen.
Danke für den Hinweis!
udowald
Das Abschnittsmenü ist eine reine Typoscript-Lösung 🙂
Schau mal im Template Analyzer, css_style_content, tt_content.menu.20.3
Hallo nochmal,
ich habe jetzt die Liste der Überschriften mit dem Abschnittsmenu gemacht.
Das ist zwar wesentlich weniger Code (1 Zeile) und viel eleganter, aber wirklich konfigurieren kann man da glaube ich nicht viel. Jedenfalls bekomme ich den Seitenpfad genauso wenig weg wie vorher. Der section_index wird ja auch nicht mit einem HMENU erzeugt sondern mit CONTENT, womit nicht weiter wie vorher bin.
Meine Frage bleibt also bestehen: "Wie bekommt man das "index.php?id=18" weg.
udowald
habs mal probiert, und das geht ohne Probleme
tt_content.menu.20 {
3 < styles.content.get
3.wrap = <div class="csc-menu csc-menu-3"><ul>|</ul></div>
3.select.andWhere = sectionIndex!=0
3.select.pidInList.override.field = pages
3.renderObj = TEXT
3.renderObj {
fieldRequired = header
trim=1
field = header
htmlSpecialChars = 1
dataWrap = <a href="#c{field:uid}">|</a>
wrap3 = <li class="csc-section">|</li>
}
}
Hallo Steffen,
ok, soweit war ich auch fast. Die Zeilen 4 und 5 mit dem select hatte ich nicht drin. Ich habe den Code 1:1 übernommen. Dadurch habe ich also statt:
<a herf="index.php?id=18#tab23>
jetzt:
<a herf="index.php?id=18#c23>
Auch wenn ich die Zeilen 4 und 5 auskommentiere bleibt das Ergebnis das gleiche.
Ich glaube das wird default schon so verwendet.
Das Einfügen von index.php?id=18 liegt meines Wissens an der lib.parseFunc und ist ja durchaus korrekt. Ich möchte halt ausnahmsweise das in nur diesem Fall nicht. Wenn ich die lib.parseFunc ändere geschieht das soweit ich durchblicke für alle Links. Darum habe ich davon abgesehen.
typo3 erkennt das "href" und reagiert entsprechend. Sollte dein Code bei dir tatsächlich den Pagepath weglassen, bitte ich um mitteilung. Dann bin ich mir halt nicht sicher ob da nicht der Wurm woanders drin ist.
udowald
nene - schau Dir mal den Quelltext an
Hallo Steffen,
ja klar! Es geht bei diesem Thema ja ausschließlich um die Frontend-Ausgabe der Seite (hier Id 18-). Alles was weiter oben steht, steht auch genau so in meinem Quelltext. Immer mit index.php?id=18.
Wenn die Standard tt_content.menu.20.3 aus css_styled_content verwende wird der Pfad mit realurl (verwende ich) erzeugt. Es ist klar, dass die Standardausgabe durch den geänderten Code überschrieben wird. Jedoch wird das "index.php?id=18" nur dann eingefügt wenn im <a> Tag auch "href" drin steht. Erst wenn ich "href" durch z.B "name" ersetze wird "index.php?id=18" nicht mehr eingefügt.
>nene - schau Dir mal den Quelltext an
Ich gehe mal davon aus, dass bei dir der Pagepath nicht vorangestellt wird. Was mich wundert. Aber genau das will ich auch erreichen.
Wieso ist das bei mir dann so? Hmmmm.
Ich hoffe nur wir reden nicht aneinander vorbei. Georg hatte meine Frage auch nicht richtig gelesen. Vielleicht habe ich das auch nicht klar formuliert.
Ich dachte bis jetzt Typo3 fügt immer den richtigen Pagepath mit id=XY ein, egal ob ich auf der gleiche Seite bleibe oder auf eine andere verlinke.
Danke jedenfalls, dass du dich damit so eingehend beschäftigst.
udowald
Hi,
korrekt, meine Ausgabe ist
<div class="csc-menu csc-menu-3"><ul><li class="csc-section"><a href="#c89">Header 1</a></li><li class="csc-section"><a href="#c90">Header 1 (Kopie 1)</a></li><li class="csc-section"><a href="#c91">Header 1 (Kopie 2)</a></li><li class="csc-section"><a href="#c92">Header 1 (Kopie 3)</a></li><li class="csc-section"><a href="#c93">Header 1 (Kopie 4)</a></li><li class="csc-section"><a href="#c94">Header 1 (Kopie 5)</a></li></ul></div>
unter 4.3 (dev)
Die Frage ist was bei Dir die Links beeinflusst, und ich kenn nur tidy oder Extensions die den Linkhandler benutzen.
Hallo,
super - schönen Dank. Ich habe die "config.prefixLocalAnchors = all" im Pagesetup
auskommentiert und das index.php?id=18 ist weg!!
Ich war mir nicht ganz sicher ob das Standard war, das der Pagepath eingefügt wird, weshalb ich dachte das gibt es einen typoscript-Befehl der das verhindert.
Hätte mir eigentlich klar sein müssen. Für Links zur eigenen Seite den Pagepath einzufügen ist nicht ganz normal. Dennoch stört das den Browser nicht und der Link funktioniert ja trotzdem.
So wie ich bis jetzt testen konnte läuft alles ohne Probleme auch ohne
"config.prefixLocalAnchors = all". Ich bin da nicht ganz schlüssig. In einigen Foren wird geraten das unbedingt zu setzen wenn man realurl verwendet. Vielleicht brauchte man das nur bei älteren Versionen?
Vielen Dank Steffen, meine Frage hat sich mit deiner Hilfe nun beantwortet.
udowald