Es wird die falsche Klasse erweitert - Fehler wohl bei mir und nich bei Oxid, aber wo?

Aheu,

ich möchte gerne die Basket-Klasse erweitern, weil ich an einige Artikeldaten ran muss um den Kunden in der Warenkorbansicht noch ja nach Inhalt noch einen zusätzlichen Artikel anzubieten. Dazu steht in der metadata.php


...
'oxbasket' => '***modulname***/oxbasket_ext'
...

und in der zugehörigen oxbasket_ext.php


class oxbasket_ext extends oxbasket_ext_parent

Es wird aber laut Smarty-Debugwindow nicht basket sondern oxcmp_basket erweitert (eine öffentliche Variable in der Erweiterung wird als Member von oxcmp_basket angezeigt).

Ich finde mich immernoch in die Erweiterung der Klassen bzw. in die Klassen an sich rein und scheine das noch nicht so ganz kapiert zu haben. Ich versuche mir das irgendwie durch “abgucken” anzueignen. Jedenfalls komme ich nicht dahinter wo der Fehler steckt. Kann mir jemand einen Tritt in die richtige Richtung geben?

Vielen Dank.

Viele Grüße,
Kalle

1 Like

‘oxcmp_basket’ ist der Name der Variablen in Smarty, der Inhalt ist ein Objekt der Klasse oxbasket. Das kommt daher, dass bei Komponenten (‘oxcmp_*’) der Rückgabewert der render-Methode im Template unter dem Namen der Komponente erscheint. Aus oxubase:

    public function render()
    {
        foreach ( array_keys( $this->_oaComponents ) as $sComponentName ) {
            $this->_aViewData[$sComponentName] = $this->_oaComponents[$sComponentName]->render();
        }
...