php

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.

Hinterlasse einen Kommentar

2 Kommentare auf "Extbase-Plugins über TypoScript einbinden"

Benachrichtige mich zu:
avatar

Sortiert nach:   neuste | älteste | beste Bewertung
stefan
Gast
6 Jahre 6 Monate her

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 🙂

Chris Müller
Gast
Chris Müller
6 Jahre 5 Monate her

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.

wpDiscuz
Weitere Beiträge zum Thema
Cache, Optimizer, DynamicCategories – neue Magento-Module von und mit Flagbit
Vorsicht bei der Verwendung von isset() mit Arrays
UML-Diagramme aus Text mit PlantUML
TYPO3 Performance-Verbesserungen durch PHP 5.3: 30%