Hallo zusammen,
ich nutze die Extension LinkClickCounter und will den TS etwas modifizieren, um auch eine eigene Extension zu erfassen.
Der TS Code der Extension lautete bisher
plugin.tt_news.general_stdWrap.parseFunc.tags.link.typolink.userFunc=user_linkmanipulation->prependLink
tt_content.image.20.1.imageLinkWrap.typolink.userFunc=user_linkmanipulation->prependLink
Jetzt wollte ich das ganze um meinenen eigenen Code erweitern und schrieb folgendes dazu:
plugin.tx_phfewo_items.website.typolink.userFunc=user_linkmanipulation->prependLink
Leider funktioniert das nicht.
Kann mir jemand sagen, wo der Fehler liegt?
Die Tabelle meine Extension heisst: tx_phfewo_items
Dort gibt es das Feld: website
Ausgegeben wird der Wert in meiner Extension durch die Datei class.tx_phfewo_pi1.php
Mit dieser Zeile:
$markerArray['###WEBSITE###']=$this->cObj->typolink($record['website'],array('parameter' => $record['website'],'extTarget' => '_blank',));
Kann mir jemand die Zusammensetzung der TS Syntax erläutern?
Danke schonmal im vorraus.
Cored
Hallo Cored.
Du definierst zwar TS für Deine Extension, bei der Linkgenerierung taucht das TS aber nirgends auf. Die in TS definierte userFunc müsste mit in das Array, das als zweites Argument an typolink() übergeben wird.
Viele Grüße
Julian
Vielen Dank schonmal für den Denkanstoß.
Aber mal andersherum gefragt:
Wie müsste ich denn das Typoscript ändern, um den Link zu erreichen, wie momentan in der Extension generiert wird.
Danke noch mal
Gruß Cored
TS ist ansich mal "nur" ein assoziatives, multidimensionales Array, in dem Werte liegen. Das TS für Deine userFunc liegt dabei in
array('plugin.' => array(
'tx_phfewo_items.' => array(
'website.' => array(
'typolink.' => array(
'userFunc' => 'user_linkmanipulation->prependLink'
)
)
)
);
TYPO3 liefert Dir in die main-Methode Deines Plugins als zweiten Parameter ($conf) den zu Deinem Plugin relevanten Ausschnitt des TS (also das Array mit dem Key 'tx_phfewo_items.').
Die typolink()-Funktion erwartet als zweiten Parameter die "TypoScript configuration". Welche Keys ind er Konfiguration zur Verfügung stehen, beschreibt die TSref genauer: https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Typolink.html
Und somit kommst Du dann zu (vorausgesetzt, Du hast wie üblich in der main()-Methode $conf in die Klassenvariable $this->conf geschrieben):
$markerArray['###WEBSITE###']=$this->cObj->typolink(
$record['website'],
array(
'userFunc' => $this->conf['website.']['typolink.']['userFunc'],
'parameter' => $record['website'],
'extTarget' => '_blank',
)
);
Vielen Dank für die Unterstützung.
Jetzt funktioniert es.
Hallo cored,
wollte die Extension ebenso einsetzen, bringe diese jedoch nicht zum Laufen, hättest du einen Tipp für mich? (Typo3 4.3.0) Danke.