[Typo3-UG Oesterreich] Externe Links - RTE

Georg Kuehnberger | plan2.net gk at plan2.net
Thu Dec 18 00:50:13 CET 2003


Franz,

At 06:47 17.12.2003, Franz P. Kratochvil wrote:
>Guten Morgen,
detto;

>bei einem Intranet-Projekt ist mir etwas unangehm aufgefallen: wenn ich 
>aus dem RTE heraus einen externen Link (der in diesem Fall auf eine 
>Adresse im Netzwerk zeigt) setze, wird die URL kommentarlos 
>validiert/"übersetzt", was hier bedeutet, daß eine URL
>http://irgendwie.irgendwas/dort/ auf -> 
>http://localhost/http://irgendwie.irgendwas/dort übersetzt wird (und somit 
>ungültig/kein Link ist).
>gebe ich: http://irgendwie.irgendwas/dort/myfile.php an, funktioniert es.
>"Normale" externe URL's (http://www.domain.tld) gehen natürlich tadellos.
>Frage: kann man dem RTE (genauer: der "Link-Funktion"-im RTE) beibrigen, 
>die URL so zu nehmen, wie sie eben ist, ohne dieses "ummzuodeln"?
>Einen pfundigen Arbeitstag wünscht euch
>Franz

Also der Reihe nach:
a) Ich denke Deine Beispiele sind irrefuehrend, insofern als nicht 
nachvollziehbar, denn mit
>         http://irgendwie.irgendwas/
als externe Links im RTE funktionieren bestens und werden auch nicht 
umgeschrieben vom RTE.
Bitte gib beim naechsten Mal eche Beispiele an, dann faellt nicht nur das 
Verstehen und Nachvollziehen sondern auch die Beantwortung der Frage 
leichter; (oder verifiziere die Beispiele bitte).

b) Was Du zu meinenen scheinst ist zB:
         http://illegalerHostNameOhnePunktImNamen/
und dies wird vom RTE (eingefuegt als externer Link) waerend des 
Speichern-Vorganges tatsaechlich immer zu
         http://typoserver.com/http://illegalerHostNameOhnePunktImNamen/
umgeschrieben.

Grund: TYPO3 geht bei "externen" Server-Adressen davon aus, dass diese 
einen PUNKT in "Hostname+Domain" oder in der kompletten Url haben.

c) Lösungen:
         1.) Gib den Servern einen richtigen Namen, wie zB. 
"webserver2.intern" = geloest.

         2.) Zustaendig fuer das Umschreiben der Links (zB. auch fuer 
interne Links in <LINK> damit es keine toten internen Links gibt) sind die 
zwei Klassen:
/var/lib/typo3/typo3_src-3.5.0/t3lib/class.t3lib_parsehtml_proc.php
/var/lib/typo3/typo3_src-3.5.0/t3lib/class.t3lib_parsehtml.php
         diese kannst Du sicherlich umschreiben, um dem RTE dieses 
Verhalten "abzugewoehnen";  (Achtung dann bei Upgrades = 3.6 hat auch noch 
dasselbe Verhalten).

         3.) Du kannst diesen href-tag auf "illegaleHostNamen" um den 
Parameter: rtekeep="1" ergaenzen  (schalte dazu unterhalb des RTE auf 
Quelltext); dieser fuehrt dazu dass
class.t3lib_parsehtml_proc.php
         den Tag nicht umschreibt.
Dies funktioniert dann auch mit den "MS-Nachbarn" (oder Samba-Servern) im 
heterogenen Netzwerk mit Namen und Links, wie:
         <A 
href="\\MickeySoftServer\GehoertUnsAllen\LustigeBilderUnsSonstigerMist" 
rtekeep="1">MeinGaaanzGeheimerLink</A>

d) Unterschiedliche Optionen zum Testen - im RTE Source-View Modus 
einfuegen, abspeichern und die Veraenderungen im SourceModus beobachten:

<PRE><CODE>
<P>ALL WITHOUT RTE-KEEP</P>
<P><A href="http://domain.com/">http://domain.com/</A> = valid domainname</P>
<P><A href="http://domain/">http://domain/</A> = invaliddomainname</P>
<P><A href="http://domain/index.php">http://typo3/index.php</A> = invalid 
domainname with index.php</P>

<P></P>
<P>ALL WITH RTE-KEEP</P>
<P><A href="http://domain.com/" rtekeep="1">http://domain.com/</A> = valid 
domainname</P>
<P><A href="http://domain/" rtekeep="1">http://domain/</A> = 
invaliddomainname</P>
<P><A href="http://domain/index.php" rtekeep="1">http://typo3/index.php</A> 
= invalid domainname with index.php</P>
</CODE></PRE>

hth, lg Georg







More information about the TYPO3-at mailing list