Zum Inhalt springen

RTE <LINK> Problem

Erstellt am 17. September 2003 · 8 Antworten · letzte Antwort am 18. August 2004

Tags: Frage

Gottfried19 ·

Ich verwende den RTE im Immobielenmanager und wenn ich damit Links eingebe wird es im FE im Quelltext so ausgegeben:

<LINK http://www.meineurl.at>http://www.meineurl.at</LINK>

Wenn ich direkt beim RTE im BE auf "Html-Quelltext" klicke stellt er sie korrekt dar:

<A href="http://www.meineurl.at/">http://www.meineurl.at</A>

In der Table in MySql wirds so abgespeichert:

<LINK http://www.meineurl.at/>http://www.meineurl.at</LINK>

Nach durchsuchen des Forums und langem Nachdenken komme ich auf keine Antwort und erhoffe das mir hier wer helfen kann!
Viele Dank im Vorraus,
Gottfried

Schnickeschnack ·

Hallo Gottfried,

ich habe das gleiche Problem und habe mir angewöhnt, die Links,
bzw. den kompletten Datensatz in den Zwischenspeicher zu nehmen,
bevor ich die Seite das erste Mal speichere und die HTML-Tags mit LINK überschrieben werden.
Erst dann gehe ich das erste Mal auf speichern.
Im Datensatz steht nun "LINK" statt "a href". Mist.
ABER: im Zwischenspeicher stehts ja noch richtig!
Also, alles markiert und mit dem Zwischenspeicher ersetzt.
Wenn Du dann nochmal speicherst, sollte das "a href" stehengeblieben sein.
Ist bei mir zumindest so.
Strange, but it works! 😉

Schreib mal bitte, obs bei Dir auch so geht oder welche Erfahrungen Du gemacht hast.
Danke!

Schnickeschnack

Gottfried19 ·

hm keine ahnung was du mir zwischenspeicher meinst aber allein der Gedanke ab jetzt meine Links so abzuspeichern ist mir wirklich zu strange #giggle#

Schnickeschnack ·

Nun, ich meinte einfach, dass Du das Geschrieben kopieren sollst.
Dann nach dem einmaligen überschreibenden Speichern das Kopierte nochmal einfügen und wieder speichern.
Probiers einfach mal aus...

Schnickeschnack

Gottfried19 ·

ok ich habs nun geschafft 😃:

ich hab die datei "pi1/class.tx_mediacookieimmomanager_pi1.php" editiert:

gehe zur Zeile (z.b. beim Feld "description"):

$markerArray["###IMMOMANAGER_ITEM_LONGDESC###"] = $row["description"];

und ersetze Sie gegen:

$description= $row["description"];
$description= preg_replace("(<LINK http://)",  "<a target="_blank" href=http://", $description); 
$description= preg_replace("(mailto:)", "", $description);
$description= preg_replace("(<LINK )", "<a href=mailto:", $description);
$description= preg_replace("(</LINK>)",  "</a>", $description);
$markerArray["###IMMOMANAGER_ITEM_LONGDESC###"] = $description;

Wandelt URLS und Emails um.
Hoffe es funktioniert bei Dir auch, viel Spaß (kannst ja kurz zurück schreiben obs geht)

mcfist ·

hmm..

ich hab das gleiche "problem" .. aber bei mir gibt es eine solche Datei gar nicht...
Gibt es dafür nicht eine globale Einstellung oder sowas ?

Gruß
Christian

ron ·

hier ne lösung, dass nur die links geparsed werden...

das setupfile meiner extension

#Typoscript Setup Code
plugin.tx_windowinfobox_pi1.singleView_stdWrap.parseFunc {
	makelinks = 1
	tags {
		link = TEXT
		link {
			current = 1
			typolink.extTarget = _blank
			typolink.target=
			typolink.parameter.data = parameters : allParams
		}
	}
}

codeschnippsel meiner php

$text = $row['text'];
$text = $this->cObj->stdWrap( $this->pi_RTEcssText($text), $this->conf['singleView_stdWrap.'] );
frank1774 ·

Das die Links im RTE verworfen werden ist ein bekannter Bug.
Das selbe wird auftreten wenn Ihr im RTE zu anderen Seiten innerhalb Eurer Seite verlinken wollt.

Ein Workaround ist folgender:

Im RTE auf HTMl Darstellungen gehen und im Link rte_keep="1" hinzufügen. Sieht dann so aus:

<A href="http://www.meineurl.at/" rte_keep="1">http://www.meineurl.at</A>

Damit wird der Link in der DB nicht in ein <LINK> gewandelt sondern bleibt wie er ist.

Easy oder?

dfluess ·

Das funktioniert gut, aber lässt sich das auch im TS globalisieren? Es ist mühsam das jedesmal mit einzugeben..