0
Dein Warenkorb
0
Dein Warenkorb

Typo3 Absolute URLs und RTE Parsing

RTE Content aus der Datenbank wird ohne spezielle Konfiguration derart geparst, dass sich Pfadangaben relativ auf den Stammhost beziehen. Für eine Extension sollten URLs, die auch auf andere Projekte exportiert werden (Veranstaltungsextension, s.u.) aber absolut sein, damit Links zum Beispiel auf .pdf-Files noch stimmen. Einfach so konnte ich die Funktion piRTEcssText leider nicht dazu bewegen, absolute URLs auszugeben. Es gibt jedoch eine praktische Methode in t3lib_div:

t3lib_div::locationHeaderUrl ( $ path )

Prefixes a URL used with ‘header-location’ with ‘http://…’ depending on whether it has it already.

* If already having a scheme, nothing is prepended
* If having REQUEST_URI slash ‘/’, then prefixing ‘http://[host]’ (relative to host)
* Otherwise prefixed with TYPO3_REQUEST_DIR (relative to current dir / TYPO3_REQUEST_DIR) Usage: 30

Parameters:
string URL / path to prepend full URL addressing to.

Returns:
string

Mit geschicktem Regex werden so alle Links und Bilder schonmal absolut:

$html_output=preg_replace(‘#(href=|src=)”([^”]*)”#eis’,”‘href=\”‘.t3lib_div::locationHeaderUrl(‘$2’).’\”‘”,$this->pi_RTEcssText($db_input));

Für andere File-Verweise könnte man den (href=|src=)-Teil erweitern.