Hallo liebe Typo3-Gemeinde,
für das korrekte URL-Handling bräuchte ich eine eigene Funktion, welche die "typolink"-Render-Funktion erweitert/überschreibt.
Aktuelles Typoscript:
lib.menu.language.1.NO.stdWrap.typolink {
addQueryString = 1
additionalParams = ...
...
}
Die Menü-Links sollten nun mit einer eigenen PHP-Funktion abgeändert werden.
Erweitertes Typoscript:
lib.menu.language.1.NO.stdWrap.typolink = USER
lib.menu.language.1.NO.stdWrap.typolink.includeLibs = fileadmin/templates/linkkorrektur.php
lib.menu.language.1.NO.stdWrap.typolink.userFunc = user_linkkorrektur->main
PHP-Skript:
class user_linkkorrektur {
function main($content, $conf) {
return '<A HREF="http://www.example.com">';
}
}
Leider funktioniert die erweiterte Typoscript-Anpassung nicht.
Die PHP-Datei wird nicht inkludiert und die Funktion wird nicht angesprochen.
Hat jemand eine Idee wie ich für typolink einer USER-Funktionen hinterlege?
Vielen Dank im Voraus
Euer Schnuffi
Hallo.
Ich würde sagen, Du versuchst Dich an falscher Stelle einzuklinken.
Willst Du wirklich die gesamte Methode überschreiben? Oder willst Du nur an der Ziel-URL etwas drehen?
Fall 1: gesamte Methode überschreiben
Hier eignet es sich dann wohl eher, die Menuitems selbst zu bauen. Hierzu gibt's z.B. den Blogbeitrag Individuelle Formatierung
Was Du dann im stdWrap.cObject genau tust, ist Dir überlassen. Hier ließe sich sicherlich auch ein USER-Objekt unterbringen.
Fall 2: An der Ziel-URL etwas drehen
Hierzu würdest Du am parameter unterhalb von typolink etwas ändern wollen. parameter hat stdWrap-Eigenschaften, d.h. zu kannst hier z.B. setzen:
lib.menu.language.1.NO.stdWrap.typolink.parameter.cObject = USER
Viele Grüße
Julian
Hallo Julian,
vielen Dank für dein Feedback.
Das Ziel sollte die Abänderung der URL sein. Also Fall #2.
Und dies kann wie in deinem Beispiel umgesetzt werden.
Das finale Typoskript ist hier zu sehen:
lib.menu.language.1.NO.stdWrap.typolink = USER
lib.menu.language.1.NO.stdWrap.typolink {
userFunc = VENDOR\ExtensionName\Example->myExampleFunction
}
Nochmals Vielen Dank
und Grüße