Hallo,
ich habe ein überschaubares Content-Element mit TemplaVoila erstellt, welches nicht so funktioniert, wie ich das gerne hätte.
Grundgerüst ist ein Listenelement, welches einen Link enthält. Der Link besteht aus einem <img alt="" /> sowie einem <span>-Element. Gemappt habe ich als Attribut das href des a-Tags sowie das Bild und den Inhalt des span-Tags.
Wenn ich das Konstrukt verbaue und mir den HTML-Quellcode anschaue, dann kommt da folgendes bei raus:
<li>
<a href="http://www.blablabla.de/" target="#">
<a href="http://www.blablabla.de/" target="_blank">
<img src="uploads/tx_templavoila/bla.jpg" width="29" height="40" border="0" alt="" title="" />
</a>
<span>
blablabla
</span>
</a>
</li>
Der innere Link ist nicht wirklich gewollt, und ich weiß auch nicht ganz genau, wo der herkommt.
Ich habe mal versucht, durch die Datenstruktur in XML durchzusteigen, bin aber kläglich gescheitert, da ich von XML keine Ahnung habe.
Vielleicht hatte mal wer das gleiche Problem und kennt eine Lösung.
Vielen Dank!
Gruß
fraenzer
Ich kenne dein XML/TypoScript ja nicht, deshalb die Frage ob das hier vielleicht hilft:
http://typo3.sfroemken.de/blog/datum/2009/04/05/ein-link-aber-2-a-tags.html
Stefan
Hallo.
Habe das selbe Problem. Habe im Template einen Link, der so aussieht:
<a href="#" class="home-button btn">Zum Firmenprofil</a>
Jetzt würde ich gerne über's Backend die Möglichkeit geben, das Ziel und den Linktitel zu ändern.
Wenn ich auf das Attribute href mappe, bekomme ich einen doppelten Link, so:
<a href="fileadmin/templates/tpl/#" class="home-button btn"><a href="http://www.google.de" target="_top" >www.google.de</a></a>
Wenn ich "OUTER" mappe, bekomme ich so ein Ergebnis (mit manuell eingetragener CSS-Klasse - 2 Klassen mit Leerzeichen einzutragen funktioniert auch nicht 🙁 ):
<a href="http://www.google.de" title="btn" target="_top" class="home-button" >www.google.de</a>
Als Eingabefeld habe ich jeweils ein Linkfeld gewählt.
Kann mir jemand sagen, wie ich mappen kann, dass mir class erhalten bleibt und nur href und der Linktitel (also die Beschriftung) verändert werden?
Wäre super.
Grüße
Simon
Danke.
Kennt jemand denn eine Methode in der man die Klasse nicht händisch einpflegen muss, also in der man auf href und Linktitel mappen kann?
Simon
Ist es vielleicht eine Option Link und Link-Titel zu trennen?
Also du mappst auf dein <a href="#"> Ein Plain-Input-Field (Outer) und darunter legst du ein Feld vom Typ Linkfield an da du auf Not Mapped stellst.
Der Link des Linkfields wird dann automatisch um dein Plain-Input-Field gewrapped.
Selbiges geht natürlich auch wenn man den Link um ein IMG wrappen will.
Evtl. Nachteil: Du hast ein Feld mehr zum Eintragen im Flexform deines FCE's
Ich mache das ganz gerne so weil viele Redakteure die Linktitel-Vergabe dort einfacher finden als im Typo3-Link-Popup.
Ist natürlich geschmackssache...
map doch das Attribut class und benutz TS dafür
10 = TEXT
10.value = class1 class2 class3
Hallo und vielen Dank für alle Antworten.
Tatsächlich hat es jetzt problemlos geklappt, auf das <a> Element inner zu mappen für den Linktitel und auf das Attribute href mit Link Field als Eingabe.
Ich hätte schwören können, dass ich genau das vorher schon probiert habe, aber jetzt hat es funktioniert.
Unter Extended kann man diese Sachen dann pflegen.
@steffenk:
Tatsächlich bin ich grade dran und versuche, klassische Marker und TV zu kombinieren (zum Erstellen eines Menus). Bin TYPO3 Neuling. Dein Post sieht so aus, als ob man das kombinieren könnte. Wo und wie kann ich denn in TV definieren, wo dann das Typoscript (in meinem Fall dann ein TMENU) eingebunden wird? Hab grade einen klassischen Marker á la ###TOP_MENU### probiert, ohne Erfolg.
Liebe Grüße
Simon Born
Ich kann Dir hier keine ausführliche Einleitung geben, aber das Prozedere ist easy:
Im mapping modul mappst Du das Menü an die Stelle im HTML wo es erscheinen soll. Als Element nimmst Du dann "Typoscript Object Path" und gibst das Objekt an, z.B. lib.mainmenu
Wichtig: nur lib-Objekte funktionieren hier.
Hallo Steffen,
habe das noch gar nicht probiert, weil es ja jetzt auch so geklappt hatte.
Wollte mich nur nochmal bedanken für die Antwort.
Simon