Controller aus eigenem Modul mit zusätzlichem Modul überladen

module
oxid6

#1

Ho!

Ich habe ein Modul für Oxid 6 mit eigenem Backend-Controller. Dieses Modul greift auf einige Standard-Tabellenfelder von Oxid zu.

Als nächstes würde ich gerne einige kleine Satelitenmodule dazu schreiben, die die Datenbank und die Funktionalität des Ursprungsmodules erweitern.

Wie müsste ich denn meinen Controller definieren, damit diese in der Classchain nutzbar wird?


Der Controller wird wie folgt registriert:

'controllers' => [
        'ciattributeimport' => \Ci\Oxid\Filter\Controller\Admin\AttributeValues::class,
],

So würde ich den Controller gerne überladen:

'extends' => [
    \Ci\Oxid\Filter\Controller\Admin\AttributeValues::class =>
        Ci\Oxid\StorageLocation\Controller\Admin\AttributeValues::class
]

LG
Sioweb


#2

genau so hätte ich es auch versucht, allerdings fehlt da ein \, glaube ich:

'extends' => {
...::class => **\**Ci\Oxid...
}

#3

Das Slash ist optional, funktioniert beides. Zumindest in den anderen Modulen.

Evt. muss ich nochmal schauen wie der Core die Klassen registriert.


#4

Wenn ich den Controller von Hand quick’n dirty in ShopControllerMapProvider::$controllerMap eintrage, funktionierts. Mal schauen ob das irgendwie genutzt werden kann.


#5

Doof. Der Fehler war “extends” … es heißt “extend” :slight_smile: