habe aktuell das Problem, dass ein Produkt ohne Varianten mit gesetztem Warenbestand auf 0 trotzdem im Frontend auf Produktdetailseite kaufbar ist, sprich Kaufbereich mit Stückzahl und Button ist da und funktional. Es wird aber der rote Punkt und der Out of Stock Status korrekt angezeigt.
Wenn ich mir „product“ dumpen lasse, ist product.available auf true gesetzt, weshalb die if-Bedingung im Template für das verstecken/anzeigen des Buy Widgets nicht korrekt ausgeführt wird.
Problem tritt auch mit dem Demo-Theme von SW auf. Liegt das vielleicht an einer falschen Produkteinstellung?
Wenn du beim Editieren des Produkts den Haken bei „Abverkauf“ unter „Lieferbarkeit“ setzt wird das Produkt bei einem Bestand von 0 nicht mehr bestellbar. Das Produkt wird nicht ausgeblendet, die Kaufoption wird allerdings deaktiviert.
Abverkauf bedeutet ja, dass das Produkt im Auslaufen ist, oder versteh ich das richtig?
Wieso wird bei einem aktuell ausverkauften Produkt trotzdem eine Kaufoption angezeigt? Gibt es eine Art Backorder-Funktion, die ich fälschlicherweise aktiviert habe?
Aber was hat ein Abverkauf mit dem eigentlichen Problem von mir zu tun?
Wenn ein Produkt den Bestand 0 hat und sogar im Frontend korrekt mit dem Status „out of stock“ angezeigt wird, wieso blendet er mir den Kaufbereich nicht aus und lässt mich das Produkt sogar in den Warenkorb legen?
hm das klingt wirklich komisch, habe es bei mir jetzt mal getestet und folgendes verhalten erlebt:
Abverkauf->deaktiviert
Bestand->0
Bestellbutton vorhanden und folgende Meldung auf der Detailansicht
Versandfertig in 5 Tagen, Lieferzeit 2-5 Tage
Abverkauf->aktiviert
Bestand->0
Bestellbutton auf Detailansicht nicht vorhanden, auf Produktübersicht ausgegraut und folgende Meldung
Nicht mehr verfügbar
Vielleicht ein Plugin welches auf die Detailseite zugreift und dafür sorgt, dass der Button immer angezeigt wird?
Ich nutze beispielsweise ein Plugin welches die Bestellbuttons versteckt sofern man nicht mit einem freigebenen Account eingeloggt ist.
Da musste ich auch aufpassen den richtigen Block zu benutzen um nicht andere Funktionalitäten zu beeinträchtigen.
Dein Test zeigt genau, was bei mir auch nicht korrekt ist. Normalerweise sollte ein Produkt nicht kaufbar sein, wenn der Bestand 0 ist. Die Bedinung im Template für das Anzeigen des Kaufbereiches ist die Eigenschaft „product.available“, die auch true ist, wenn der Bestand auf 0 ist. Da liegt das Problem.
Das ganze betrifft nicht nur die Darstellung auf der Produktseite, sondern auch im Category Listing.
Auch mit dem Standard-Template ist dieser Fehler reproduzierbar. Plugins wurden alle deaktiviert.
Habe jetzt überall die Blöcke überschrieben und die Bedingung abgeändert. Sollte aber nicht so sein.
Äh, vielleicht verstehe ich das ja komplett falsch. Aber für mich klingt das so, als ob bei Dir alle Artikel auf Abverkauf sein sollen?! Du willst nur Ware verkaufen, die Du auch auf Lager hast. Als Szenario fällt mir da ein Handarbeits- oder Künstler Shop ein. Da musst Du doch nur das „Abverkauf“ Flag setzen.
Wenn Du in den Einstellungen für Produkte „Produkte nach Abverkaufende ausblenden“ anhakst, werden die auch nicht mehr in Kategorielistings angezeigt. Funktioniert bei mir wunderbar.
Aber die allermeisten Shops leben doch vom „Wiederverkaufen“. Wenn ich was nicht auf Lager habe, bestelle ich das just in time bei einem meiner Lieferanten und habe eben eine kleine entsprechende Lieferverzögerung. Also entgegen Deiner Erwartung sollten Produkte normalerweise bestellbar sein, wenn der Bestand 0 ist.