wir bauen gerade test weise einen oxid shop auf.
Ich habe nun ein Problem bei Artikelvarianten, hier wird der Warenkorbbutton nicht mehr angezeigt.
Beim Vaterartikel ist dieser noch “ausgegraut” da, wählt man einen Kinder-Artikel ist dieser dann jedoch komplett verschwunden.
Oxid Version ist 4.6.0_44406, Template ist ein leicht verändertes Azure.
Bsp. siehe Anhang.
in der product.tpl habe ich nur die Anpassung gemacht um das Gewicht nicht anzuzeigen <!-- --> drumherum.
Als Problemlösung habe ich schon folgendes probiert:
Neu erstellen der Artikel,
Überprüfen der Artikel (Aktiviert, Lager, Preis),
tmp leeren,
deaktivieren aller Module (es war nur eins installiert, welches nur auf die oxproductlist zugreift),
neues Hochladen der Template Daten,
aktivieren des original Azure
Der Fehler besteht immer noch.
Wenn ich im Shop Admin einstelle “Vater Artikel kaufbar” geht alles, nur der Vater Artikel darf nicht kaufbar sein.
habe es doch selber gefunden, wir laden die Artikel über eine Warenwirtschaft hoch,
diese setzt OXVARSTOCK auch für die Kinderartikel, was dafür sorgt, dass diese als NotBuyable gekeinnzechnet werden. Da aber über OXPARENTID und OXVARCOUNT dieses eigentlich doppelt und dreifach abgesichert ist, bräuchte es diese Abfrage garnicht.
ich versuche meine Artikel per Actindo ( Warenwirtschaft ) auf meinen Oxid Ce 4.6.2 Shop zu laden, und bei den Warenkorbvarianten fehlt der Button Warenkorb. Ich habe Deine Erklärung dazu gelesen weiß aber nicht was ich jetzt tun muss damit der Button wieder erscheint, könnt ihr mir das ein bisschen genauer erklären?
Es gibt die Felder OXVARSTOCK und OXSTOCK in der Datenbank,
unser Warenwirtschaftssystem hat immer OXVARSTOCK als OXSTOCK benutzt dies ist aber falsch.
OXSTOCK ist die vorhandene Anzahl des aktuellen Artikels
OXVARSTOCK bezeichnet beim Vaterartikel die Anzahl der vorhandenen Kinderartikel
Also haben wir
Artikel A den Vaterartikel
Artikel Aa das erste Kind
und Ab das zweite.
Dann muss bei Aa und Ab OXSTOCK gestzt sein und bei A OXVARSTOCK (und zwar auf die Anzahl von Aa + Ab).
Und für alle die es als SQL besser verstehen
$articles_query = sync_db_query(“UPDATE oxarticles SET OXVARSTOCK=0 WHERE OXPARENTID != “” or (OXVARNAME = “” and OXPARENTID = “”);”);
[B]Oxid CE 4.7.1. und WaWi Büroware[/B]
Der Import der Artikel läuft ohne Probleme. Allerdings ist bei Variantenvätern der “Warenkorb” Button deaktiviert, da der Lagerbestand als 0 gesetzt ist.
In der oben genannten Version kommt das Problem dadurch zustande, dass beim Import bei den Variantenvätern das Feld “oxvarstock” in der DB nicht gesetzt wird. Damit gilt der Variantenvater als ausverkauft.
Wer sich dies beheben möchte, sollte auf der DB ein SQL Update auf oxarticles starten.
<< UPDATE OXARTICLES SET OXVARSTOCK=“10” WHERE OXPARENTID="" AND OXVARCOUNT!=“0”; >>
Damit wird zunächst der Gesamtlagerbestand, also der kumulierte Lagerbestand aller Varianten auf 10 gesetzt. Die 10 ist nur ein Dummywert und muss nicht als realer Lagerbestand entsprechen!
Wird nun eine Variante gekauft, wird der Lagerbestand dieser Variante um die Anzahl der gekauften Artikel reduziert, die Lagerbestände der restlichen Varianten dazu addiert und die Summe als neuer Wert des Feldes “oxvarstock” gesetzt (wird in oxarticles.php durch onChange() gemacht).
Damit stimmt nun auch der Lagerbestand wieder.
Angaben ohne Gewähr!
Hoffentlich ist damit jemanden auch geholfen, da ich selber lange gebraucht habe, um dies zu analysieren und obige Lösung zu finden.