[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