TYPO3: Extbase Plugin per Typoscript einbinden – Die Zweite

Ich bin gerade dabei eine Extbase-Extension fit für Typo3 4.5 und damit Extbase 1.3 zu machen. Leider hat sich dabei nochmal einiges geändert. Unter anderem auch die Einbindung eines Extbase Plugins per TypoScript, über die ich vor einiger Zeit schon einmal geschrieben habe. Mit dem neuen Extbase wurde der Dispatcher überarbeitet, womit sich auch die Einbindung ändert.
Mit Hilfe dieses Blog-Eintrags bin ich der Lösung dann aber auf die Schliche gekommen. Hier daher mein überarbeitetes Script für Extbase 1.3:

plugin.tx_calendar.widgets {
  upcomingActsWidget = USER
  upcomingActsWidget {
    userFunc = tx_extbase_core_bootstrap->run
    pluginName = Pi1
    extensionName = Calendar
    controller = Date
    action = listUpcomingTickets
 
    switchableControllerActions {
        Date {
            1 = listUpcomingTickets
        }
    }
 
    settings =< plugin.tx_calendar.settings
    persistence =< plugin.tx_calendar.persistence
    view =< plugin.tx_calendar.view
  }
}
 
lib.upcomingActs < plugin.tx_calendar.widgets.upcomingActsWidget

Vielleicht hilft das ja jemandem weiter… ich verzweifle jetzt weiter daran das meine Extbase-Formulare mit dem Update nicht mehr funktionieren :(

2 Gedanken zu „TYPO3: Extbase Plugin per Typoscript einbinden – Die Zweite“

  1. Hallo, danke für diesen Beitrag. Leider komme ich diesem Fehler nicht auf die Schliche:

    #1187176358: The controller name must be a valid string, boolean given.
    Tx_Extbase_MVC_Exception_InvalidControllerName thrown in file
    …\typo3\sysext\extbase\Classes\MVC\Request.php in line 254.

    Hast jemand dazu eine Idee?

  2. Sorry, späte Antwort, aber ich konnte es erst jetzt nachvollziehen. Zu dem Fehler kommt es wenn Du unter „pluginName“ einen falschen Wert stehen hast. Steht in der Plugin-Konfiguration z.B.:

    Tx_Extbase_Utility_Extension::configurePlugin(
    	$_EXTKEY,
    	'List',
    	array(
    		'Twitter' => 'list'
    	),
    	array( // don't cache some actions
    		'Twitter' => ''
    	)
    );

    Muss „pluginName = List“ sein… dann hat es zumindest bei mir funktioniert. Hoffe es hilft auch Dir weiter.

Kommentare sind geschlossen.