Zum Inhalt springen

RTE und OnMouseOver

Erstellt am 23. Januar 2013 · 3 Antworten · letzte Antwort am 24. Januar 2013

Tags: Frage

Ram3000 ·

Hallo,
ich bin noch recht neu im Bereich Typo3 und benötige ein wenig Hilfe.

Ich wollte im RTE einen HTML-Code einbinden, der einen onmouseover beinhaltet.
Diesen Code habe ich vorher erstellt und ausprobiert und es funktioniert.
Also in Typo3 eingesetzt und funktioniert auch.
ABER, wenn ich dann im RTE den Link (es soll ein internal Link sein) vom Bild tausche, dann geht der Mouseover nicht mehr.
Der HTML-Code wurde danach aus verändert, also im RTE.

Und nun die Frage: Warum?

<center><table width=150 border=1 cellspacing=0 cellpadding=4>
<tr>

<td width="25%" height="230" align=center>
<a href="Material.html" border="0" onmouseover="austausch3.src='images/Material_on.jpg';" onmouseout="austausch3.src='images/Material_off.jpg';">
<img src="images/Material_off.jpg" name="austausch3" width="150" height="200">
<br><br>Material</a>
</td>

</tr>
</table>
</center>

Ich würde mich über eine einfache und hilfreiche Lösung sehr freuen,
da ich den Mouseover Effkte gerne nutzen würde.

Gregor ·

Ich vermute mal, dass er dir die attribute "onmouseover" und "onmouseout" entfernt und danach nur noch href oder so übrigbleibt, korrekt?

Das liegt dann wohl daran, dass in der Standard-Konfiguration des RTE diese Attribute nicht zugelassen sind für Link-Tags und dementsprechend automatisch entfernt werden.

Probier mal folgenden Code-Snippets aus

RTE.default.proc.entryHTMLparser_db.tags.a.allowedAttribs := addToList(class,style,href,title,onmouseover,onmouseout)

Damit definierst du für den A-Tag im RTE die Attribute, die alle zulässig sind. Kannst du theoretisch beliebig erweitern.

Den auf deiner Root-Seite bei den Seiteneigenschaften im Reiter "Resources/Ressourcen" bei TypoScript Configuration (Page TSConfig/Seiten TSConfig) (englisches/deutsches Backend) einfügen, speichern, alle Caches leeren und dann nochmal dein Inhaltselement bearbeiten und den gewünschten HTML-Code einfügen. Habs gerade getestet und dann hat er bei mir die beiden Attribute brav übernommen, allerdings nur mit "Test" als Wert und keinem konkreten Code.

Wobei das eh evtl. eine etwas gewagte Konstruktion ist, weil dir das ja von jedem Redakteur wieder zerschossen werden kann, der den Link irgendwie verändert und dabei z.B. diese Attribute löscht.

Viel Erfolg
Gregor

Ram3000 ·

Hallo Gregor,
danke für die Antwort !
Ich habe das Script, so wie Du gesagt hast, mal eingefügt.
Rootseite = Home (bei mir) - Richtig?
Oder da wo der Domainname steh?
Dann unter Ressourcen und in TypoScript (Seiten-TSconfig) das Script eingefügt.

Leider haut er mir immer noch die mouseover Funktionen raus. 🙁

[EDIT]:
Es hat nun doch funktioniert! *mein Fehler*
Wenn ich den Link löschen, dann verschwinden auch die mouseover Funktionen,
das war mein Fehler...
Es funktioniert scheinbar nur solange man den Link ändert und nicht löscht.

ABER, nun wird der Link nur noch als ID angezeigt (obwohl als internal Link angegeben) und nicht mehr als RealURL.
Hast Du da evtl noch eine Idee?

Gregor ·

Hm, also, ich habe mir gerade nochmal auf einer TYPO3 V4.7 das ganze angeschaut. Dort werden die onmouseout/over-Attribute auch ohne Änderung der RTE-Konfiguration brav abgespeichert. Habe aber die Demo-Konfiguration des RTE im Install-Tool aktiviert, wo fast alles aktiviert ist.

Der Link wird dann aber eben auch nach dem Muster www.domain.tld/?id=X generiert. Würde jetzt behaupten, dass liegt daran, dass die onmouseover-Attribute nicht mehr als Typolink dargestellt werden können und deswegen der RTE das rtekeep-Attribut setzt und den Link unverändert übernimmt. Workaround bei Realurl wäre dann, dass du einfach den Link auf die entsprechende Unterseite nimmst und in den A-Tag reinkopierst. Ist ja denke ich eh eine ziemlich statische Konstruktion, wenn du für einzelne Links bestimmte Bilder als Mouseover definierst.