[TYPO3-german] Parameter an externen Link anhängen
Joerg Wagner
news.netfielders.de at digilog.de
Mon Nov 17 18:00:20 CET 2008
Hallo Stephan,
> ich möchte per typoscript einen Paramter an einen externen Link in einem
> Text-Content-Element anhängen.
Ich hatte ein ähnliches Problem mit Menüpunkten, die z.T. auf eine
externe Website verweisen sollten und dabei ebenfalls den L-Parameter
mit übergeben sollten. Hat mich viel Zeit gekostet - vielleicht hilft
Dir meine Lösung weiter.
TS-Setup:
config.sys_language_uid = 0
[globalVar = GP:L=1]
config.sys_language_uid = 1
[global]
[globalVar = GP:L=2]
config.sys_language_uid = 2
[global]
...
includeLibs.myUserFunctions = fileadmin/templates/php/ts_user_functions.php
...
# TS des Menüs in dem die externen URLs definiert sind:
lib.mainMenu = HMENU
lib.mainMenu {
1 = GMENU
1 {
NO {
allStdWrap.postUserFunc.langUID < config.sys_language_uid
allStdWrap.postUserFunc = user_functions->user_addLangIdToExternalUrl
...
}
...
}
}
Die PHP-Function in der Datei ts_user_functions.php sieht so aus:
<?php
class user_functions{
function user_addLangIdToExternalUrl($content, $conf){
// get params from calling TS
$pLangUID = $conf['langUID']; // config.sys_language_uid
// if link type is "external url" replace link to redirecting page
with external url and add language param
if($this->cObj->data['doktype']==3){
$content = preg_replace('/(<a[^>]*href=")[^"]*("[^>]*>)/i',
'$1http://'.$this->cObj->data['url']."?L=$pLangUID".'$2', $content);
}
return $content;
}
}
?>
Sollte so auch für TMENU funktionieren. Nebeneffekt ist, dass das
href-Attribut der so modifizierten Links direkt die externe Adresse
enthält und nicht die interne Seitenadresse, die dann redirected wird.
Viel Erfolg,
Jörg.
Stephan Bauer schrieb:
> Hallo,
>
> ich möchte per typoscript einen Paramter an einen externen Link in einem
> Text-Content-Element anhängen.
> Z.B. im Textfeld steht der Link
> <link www.test.de>Hier klicken</link>
>
> An diesen Link möchte ich die aktuelle Sprache meiner Seite anhängen (z.B.
> ?lang=de)
>
> Zusätzlich möchte ich noch eine per user_func
> generierte Checksumme anhängen (z.B. &check=098f6bcd)
>
> Ich habe mich zu tode gesucht und nichts gefunden.
>
> Vielen Dank im Voraus.
>
> Grüße
>
> Stephan
>
>
More information about the TYPO3-german
mailing list