Vaterartikel "zurückwandeln"

Hallo zusammen,
der Titel des Posts ist etwas verwirrend, was daran liegt, dass ich auch etwas verwirrt bin.

Ich habe folgendes Problem und bitte um eure Mithilfe oder Aufklärung:

  • ich habe einen Artikel mit Varianten angelegt
  • damit ist der Vaterartikel nicht kaufbar und das ist auch gut so und in den Shopeinstellungen auch so angelegt
  • wenn ich jetzt allerdings alle Varianten lösche und dem Artikel auch keine Auswahllisten oder Attribute mehr zugeordnet sind bleibt “Der Vaterartikel ist nicht kaufbar!”

Meine Frage: ist ein Umwandeln von einem Variantenartikel zu einem “normalen” Artikel nicht mehr möglich? Oder sehe ich den Wald vor lauter Bäumen nicht?

Es ist keine Option in den Shopeinstellungen “Vaterartikel ist kaufbar” auszuwählen, da sich diese Option auf alle Artikel bezieht.

Die Shopversion ist Community Edition 6.0.6

Moin nilsisin,

du hast doch in den Shopeinstellungen den Haken gesetzt, das ohne Varianten der Vaterartikel nicht kaufbar sein soll, oder habe ich das falsch verstanden ? Wenn du den Haken rausnimmst, solltest du den Vater auch kaufen können. :thinking:

Ich bin noch bei Vers. 4.10.7…daher weiß ich nicht ob die Einstellungen sich verändert haben in der 6.0.6.

Gruß BB

Hallo Bob,

das ist richtig. Der Vaterartikel soll auch bei allen anderen Artikeln mit Varianten im Shop nicht kaufbar sein.

Ich möchte, dass ein Artikel, der vorher Varianten hatte, kein “Vaterartikel” mehr ist, da er keine Varianten und Attribute mehr besitzt, also keine “Kinder” mehr hat. Und somit als “normaler” Artikel kaufbar sein soll.

Dabei reicht es offensichtlich nicht alle Varianten und Attribute zu löschen, denn nach wie vor bleibt es bei der Meldung “Vaterartikel kann nicht gekauft werden.”

Wenn ich die globale Einstellung “Vaterartikel kann gekauft werden” auswähle, dann kann auch dieser Artikel, aber eben auch alle anderen “Väter” bzw. Artikel mit Varianten gekauft werden und das scheidet aus.

Was steht denn in oxvarcount und oxvarstock ?

Hallo,
Folgendes:
oxvarstock 10000
oxvarcount 0
steht in der Datenbank.

Setze oxvarstock mal auf 0

Das ändert leider auch nichts an der Meldung “Vaterartikel kann nicht gekauft werden.”

Es könnte noch der TMP sein. Ansonsten fällt mir momentan nichts dazu ein, außer dass vielleicht noch irgendwo eine oxid als oxparentid eingetragen ist.

TMP und Views wurden gelöscht.

Es ist auch nicht so, dass sich das Problem nur auf einen Artikel bezieht, sondern mit jedem Artikel, der mal Varianten hatte, reproduzieren lässt.

Aber danke schon mal fürs mitdenken.

Wurde das geprüft? Daran sollte es auch mMn liegen. Dies ist eigentlich das einzige Merkmal, wie Vaterartikel entstehen.

1 Like

Es gibt eine OXID aber das Feld der OXPARENTID ist leer.

Es ist ja auch so, dass sich dieses Verhalten (Löschen aller Varianten macht Vaterartikel nicht wieder kaufbar) reproduzieren lässt. Bei jedem beliebigen Artikel, der Varianten hatte, führt das Löschen der Varianten nicht dazu, dass der Vaterartikel wieder kaufbar ist bzw. wird.

Dass es sich also um einen “Rechenfehler” handelt, der aus Versehen irgendwo einen “Rest” in der Datenbank zurückgelassen hat, halte ich für eher unwahrscheinlich.

In einer frischen Installation eher nicht denke ich.

Du müsstest nach Artikeln in der DB suchen die die OXID des betroffenen Vaterartikels im Feld OXPARENTID stehen haben.

Das steht ja eigentlich schon oben. Es kann daran oder an den genannten Feldern oxvarstock und oxvarcount liegen:

protected function _assignNotBuyableParent()
    {
        if (!$this->getConfig()->getConfigParam('blVariantParentBuyable') &&
            ($this->_blHasVariants || $this->oxarticles__oxvarstock->value || $this->oxarticles__oxvarcount->value)
        ) {
            $this->_blNotBuyableParent = true;

        }
    }

Ich frage mal ganz einfach: “Es gibt auch oxstock. Hast das vielleicht verwechselt? Oder gibt es ein Modul, das vielleicht in die Verwaltung eingreift?”

@leofonic: es handelt sich um eine frische Installation mit 5 Testartikeln. Module sind keine installiert.

Es gibt keinen Artikel, der die OXID des betroffenen Artikels als OXPARENTID aufführt.

OXVARSTOCK = 10000
OXSTOCK = 1000
OXPARENTIS = leer
OXVARCOUNT = 0

Ich habe jetzt mal händisch (für den betroffenen Artikel) in der Datenbank OXVARSTOCK = 0 gesetzt und SIEHE DA: der Vaterartikel ist wieder kaufbar.

Allerdings kann und möchte ich meinem Kunden nicht sagen: “Wenn Sie die Varianten gelöscht haben, dann gehen Sie bitte in die Datenbank (ausgeschlossen!) und löschen manuell den Wert im Feld OXVARSTOCK des betreffenden Artikels.”

DAS PROBLEM scheint also zu sein, dass die Variantenstückzahl (OXVARSTOCK) nicht zurückgesetzt wird, wenn man die zugehörigen Varianten löscht.

Hat jemand eine Idee einen Trick, wie sich das eventuell über den Adminbereich regeln lassen könnte?

Beste Grüße

Es scheint so zu sein dass oxvarstock nur aktualisiert wird wenn “Lagerverwaltung aktiv” eingestellt ist. Das Problem tritt also auf wenn entweder die Lagerverwaltung mal aktiv war und dann nicht mehr oder die Artikel mit Bestand importiert wurden und die Lagerverwaltung aus ist.

Wichtig ist, dass das Feld OXVARNAME leer ist, sonst wird der Artikel immer als Variantenartikel (oder eben Vaterartikel) angesehen.

Wenn OXVARNAME leer ist und OXVARSTOCK = 0 ist, muss der Artikel auch wieder als Einzelartikel angesehen werden.

@nilsisin und ist dein Problem jetzt damit gelöst?

@christoph: wie oben geschrieben, wenn ich OXVARSTOCK manuell auf 0 setze, dann ist der Vaterartikel auch wieder kaufbar.

@leofonic: du wirst recht haben. Die Lagerverwaltung ist nicht aktiv. Das bedeutet, das OXVARSTOCK selbst bei Angabe von Stückzahlen für die Varianten nicht aktualisiert wird. Habe ich getestet. Stückzahlen werden bei Varianten nicht berücksichtigt, wenn die Lagerverwaltung nicht aktiv ist.
Somit wird auch beim Entfernen aller Varianten, die zu einem Zeitpunkt mit aktiver Lagerverwaltung und Stückzahl angelegt wurden, OXVARSTOCK nicht geleert.

Gelöst ist das Problem damit nicht, aber geklärt.

Es stellt sich die Frage, warum der Shop nicht generell die OXVARSTOCK leert, wenn die Lagerverwaltung deaktiviert wird. Aber vielleicht gibt es da andere Zusammenhänge, die sich mir nicht erschließen.

Danke auf jeden Fall für die Unterstützung.

Das könnte man als Bug eintragen: https://bugs.oxid-esales.com/

Wenn die Lagerverwaltung aus ist dann wird oxvarstock doch auch nicht mehr erhöht, welches Problem besteht dann denn noch?

Irgendwie wiedersprechen sich Deine Aussagen. Also liegt’s, wie oben schon erörtert, an oxvarstock.