[TYPO3-UG Freiburg] Lösung: str_replace über stdWrap

Benjamin Keil benjamecho at googlemail.com
Sun May 17 13:35:03 CEST 2009


Hi zusammen,

ich hatte soeben bei einem aktuellen Projekt das Problem ...
page.absRefPrefix = http://{$currentDomain}/
... angeben zu müssen, wodurch alle Links zu absoluten Links werden,  
was dazu geführt hat, dass mein Sprachwechsler, über den auch die  
Domain gewechselt wird, Probleme durch Links wie ...
http://www.domain.comhttp//www.domain.de/events/
...  verursacht hat.

-------------
Anmerkung: {$currentDomain} kommt aus den Constants, wo es über eine  
Condition gesetzt wird:
[globalString = ENV:HTTP_HOST=www.domain.de]
   currentDomain = www.domain.de
[globalString = ENV:HTTP_HOST=www.domain.com]
   currentDomain = www.domain.com
[global]
-------------



Meine Lösung war eine kleine Funktion (fileadmin/templates/ 
str_replace.inc):

<?php
function user_str_replace($content,$conf) {
	$content = str_replace($conf[search], $conf[replace], $content);
	return $content;
}
?>

SETUP:
page.includeLibs.user_myMenu = fileadmin/templates/str_replace.inc
# und dann irgendwo der Aufruf, wie z.B.:
page.10.subparts.langswitch = HMENU
page.10.subparts.langswitch{
   special = language
   special.value = 0,1
   special.normalWhenNoLanguage = 0
   1 = TMENU
   1 {
     NO = 1
     NO {
       stdWrap{
           postUserFunc = user_str_replace
           postUserFunc.search = http://{$currentDomain}/
           postUserFunc.replace = /
[...]



Vielleicht kann das ja mal jemand gebrauchen. Eventuell hat ja auch  
jemand einen Verbesserungsvorschlag.
Ansonsten werde ich es sicherlich hier mal nachschlagen, wenn ich  
str_replace nochmal benötige.


Grüße
Ben

http://www.bkeil.com








More information about the TYPO3-UG-Freiburg mailing list