Hallo zusammen,
ich möchte mit TypoScript eine PHP-Funktion aufrufen. Leider klappt dies überhaupt nicht. Im Frontend habe ich einfach keinerlei Ausgabe. Selbst wenn ich alles auf ein Minimum reduziere möchte es einfach nicht funktionieren.
.
Im Backend habe ich "Debug" aktiviert. Der Log bleibt jedoch leer.
Meine neue Extension taucht in den Erweiterungen im Backend auf.
.
Das Beispiel habe ich aus der Typo3-Doku. Die Funktion habe ich in eine Extension gepackt.
_______________________________________
***TypoScript auf der Hauptseite***
page = PAGE
page.10 = USER_INT
page.10 {
..userFunc = Vendor\ExtensionName\ExampleTime->printTime
}
_______________________________________
***Ordnerstruktur der Extension:***
typo3conf
..ext
....extension_name
......Classes
........ExampleTime.php
....composer.json
....ext_emconf.php
ExampleTime.php
_______________________________________
ExampleTime.php
<?php
namespace Vendor\ExtensionName;
class ExampleTime {
..public function printTime(string $content, array $conf): string
..{
....return 'Hello World!';
..}
}
_______________________________________
composer.json
{
.."name": "vendor/extension-name",
.."authors": [
....{
......"name": "XXX",
......"role": "XXX"
....}
..],
.."type": "typo3-cms-extension",
.."description": "TextExtension",
.."license": "GPL-2.0-or-later",
.."autoload": {
...."psr-4": {
......"vendor\\ExtensionName\\": "Classes/"
....}
..},
.."require": {
......"typo3/cms-core": "^9.5 || ^10.4"
..}
_______________________________________
ext_emconf.php
<?php
$EM_CONF[$_EXTKEY] = [
..'title' => 'TestExtension',
..'description' => 'TestExtension',
..'category' => 'plugin',
..'author' => 'XXX',
..'author_company' => 'XXX',
..'author_email' => 'XXX@XXX.com',
..'state' => 'alpha',
..'clearCacheOnLoad' => true,
..'version' => '0.0.1',
..'constraints' => [
....'depends' => [
......'typo3' => '9.5.0-10.4.99',
....],
..],
];
_______________________________________
composer.json im Hauptverzeichnis - erweitert durch:
"autoload": {
.."psr-4": {
...."Vendor\\ExtensionName\\": "httpdocs/public/typo3conf/ext/extension_name/Classes"
..}
}
Anschließend habe ich ein composer dump-autoload durchgeführt.
.
Es wäre wirklich super wenn mir jemand von Euch einen Tipp geben könnte.
Vielen Dank.