Extbase-Plugins über TypoScript einbinden

Der einfachste Weg, eine Extbase-Extension in eine Webseite einzubinden ist über das normale „Insert Plugin“ Contentelement. Manchmal möchte man aber die Extension-Ausgabe nicht als Inhaltselement, sondern über TypoScript einbinden.

Bei den auf pibase basierenden Extensions ist eine Einbindung über TypoScript einfach:

lib.myMarker < plugin.tx_extensionkey_piX

Bei Extensions, die auf Extbase basieren, ist die Einbindung nicht ganz so simpel möglich. Wer die Ausgabe einer Extbase-Extension über TypoScript einbinden möchte, muss dies über eine user function machen, welche aber nicht selbst geschrieben werden muss. Extbase liefert die entsprechende Funktion bereits mit. Die userFunc ist „tx_extbase_core_bootstrap->run“.
Dieser UserFunc muss man dann noch über entsprechende Parameter mitgeben, welchen Controller und welche Action aus welcher Extension ausgegeben werden sollen. Das komplette Code-Snipped schaut dann wie folgt aus: (Wichtig: Groß-/Kleinschreibung beachten.)

10 = USER
10 {
    userFunc = tx_extbase_core_bootstrap->run
    pluginName = PiX
    extensionName = ExtKeyInCamelCase
    controller = Controllername
    action = actionname
    switchableControllerActions {
        Controllername {
            1 = actionname
        }
    }

    settings =< plugin.tx_ffndbn.settings
    persistence =< plugin.tx_ffndbn.persistence
    view =< plugin.tx_ffndbn.view
}

Natürlich funktioniert das ganze nur, wenn in der ext_localconf.php der Extension die Konfiguration über „Tx_Extbase_Utility_Extension::configurePlugin“ korrekt und vollständig erfogt ist.

2 Kommentare
  • Avatar
    Chris Müller

    In TYPO3 4.7 habe ich das gerade ausgetestet. Die Keys „controller“ und „action“ benötige ich hier nicht. Über „switchableControllerActions“ wird ja auch das Controller/Action-Paar gesetzt. Das andere wäre redundant.

  • Avatar

    danke für den tipp. hat mir gerade geholfen.

    mit nem anderen blogbeitrag und etwas grübeln hats dann auch geklappt.

    es fehlt glaube noch „pluginKey“.

    des weiteren brauchte ich das für die meta-daten einer detailseite. daher musste ich – um die userfunction nur bei vorhandensein des get-parameters aufzurufen (sonst kam ne fehlermeldung) die userfunc in nen coa reinpacken mit stdWrap.if.isTrue.data = GP:…

    nur falls es für jemanden nützlich ist 🙂

Hinterlassen Sie einen Kommentar

Ihr Kommentar*

Name*
Website

Weitere Beiträge zum Thema
TypoGento 1.0 ist released!
Expires Header mit TYPO3
Icon für verschiedene Zustände der Extension-Records (z.B. versteckt / hidden)
Usability-Blog verweist auf ffn-Webseiten