Zum Inhalt springen

ExtBase 1.3 -> alternativen Controller aufrufen

Erstellt am 3. Februar 2011 · 4 Antworten · letzte Antwort am 11. Februar 2011

Tags: Frage

Sperber ·

Hallo zusammen,

ich teste gerade ein Update unserer TYPO3 Installation von 4.4 auf 4.5.
Das beinhaltet ja auch ein ExtBase Update auf 1.3 und leider funktioniert nun ein Teil meiner Extension nicht mehr.

Auf einer Seite möchte ich nämlich einen alternativen Controller aufrufen und genau das macht er nun nicht mehr. :-(

Meine ext_localconf.php sieht folgendermaßen aus:

Tx_Extbase_Utility_Extension::configurePlugin(
	$_EXTKEY,
	'Pi1',
	array(
		'Publications' => 'show',
    'Categories' => 'index',
	),
	array(
		'Publications' => 'show',
    'Categories' => 'index',
	)
);

Das Typoscript auf allen Seiten wird automatisch generiert:

tt_content.list.20.extensionxyz_pi1{
  userFunc = tx_extbase_core_bootstrap->run
  extensionName = ExtensionXyz
  pluginName = Pi1
}

In der vorherigen ExtBase Version habe ich einen alternativen Controller einach wie folgt aufgerufen:

tt_content.list.20.extensionxyz_pi1{
  controller = Categories
  action = index
}

Leider wird nun trotzdem immer Publications->show aufgerufen und nicht wie gewollt Categories->index.

Weiss jemand Rat?

Viele Grüße,
Sascha

Sperber ·

Hallo Andy,

vielen Dank für Deine Antwort, aber leider bringt mich Dein Blockbeitrag nicht weiter.
Ich nehme an, dass der Controller "Date" in Deinem Beispiel der einzige im Plugin Pi1 ist?
Ich habe zwei Controller in Pi1 und würde gerne auf einer Seite den zweiten Controller ansprechen. ExtBase führt aber immer den ersten Controller aus, egal was ich in Typoscript angebe.

Viele Grüße,
Sascha

ausgebloggt.​de ·

Hi Sascha,

hm, seltsam. Date ist bei mir auch einer von drei Controllern. Daher sollte es also eigentlich auch in deinem Fall funktionieren.

Hast Du dir die Beispiele auf kaktusteam.de mal angesehen: http://bit.ly/eCLtlt

Dort gibt es auch ein Beispiel in dem über mehre Widgets verschieden Controller innerhalb des Plugins angesprochen werden.

Wichtig ist auf jeden Fall der Weg über die Widgets. Der direkte Aufruf funktioniert scheinbar nicht mehr.

Beste Grüße,
Andy

lisardo ·

Hallo,

In deiner extr_localconf.php hast du in etwas so was stehen:

Tx_Extbase_Utility_Extension::configurePlugin(
	$_EXTKEY,
	'deinPlugin',
	array(
		'Model1' => 'list, show, new, create, edit, update, delete','Model2' => 'list, show, new, create, edit, update, delete',
	),
	array(
		'Model1' => 'create, update, delete','Model2' => 'create, update, delete',
	)
);

Dreh die Reihenfolge um; der erste Eintrag im Array ist der Standard-Controller.

Gruß
Peter, TYPO3 @ lisardo (Augsburg)