Was ist der Unterschied zwischen isSaleable () und isAvailable ()?

Arbeite ich an der Anzeige der Lieferbereitschaft auf den (einzelnen) Produkt-Seite von meinem Magento Thema, und es gibt etwas, was ich nicht ganz verstehen.

Sehe ich zwei Methoden benutzt, die Vorlagen zu prüfen, ob ein Produkt für den Verkauf verfügbar ist:

Mage_Catalog_Model_Product::isAvailable()
Mage_Catalog_Model_Product::isSaleable()

Meine eigenen Erkenntnisse:

Ich sehe, dass isSalable() (die wiederum von isSaleable()) fordert isAvailable() aber auch löst zwei Ereignisse (catalog_product_is_salable_before und catalog_product_is_salable_after).

Auf der fronted habe ich bemerkt, dass in Magento Basis template isAvailable() verwendet, um zu entscheiden, ob das Produkt als "auf Lager" oder "ausverkauft"; isSaleable() wird verwendet, um zu entscheiden, was, wie, ob, um zu zeigen, ein "Add to Cart" - button.

Auf das backend habe ich bemerkt, dass wenn der Lagerbestand null wird und Rückstände sind nicht erlaubt, den Lagerbestand eines Produktes geht, um "out of stock".
Wenn der Lagerbestand null wird und Rückstände sind erlaubt, den Lagerbestand ein Produkt bleibt unverändert.

Frage:

Die Eigenschaften "Verfügbarkeit" und "Lagerbestand" sind offenbar miteinander verknüpft, und die genannten PHP-Methoden. Ich würde gerne wissen:

  • was die semantische Unterschied zwischen den PHP-Methoden isAvailable() und
    isSaleable() ist und warum ich würde einen über den anderen;

  • was es ist, ich scheinen noch nicht zu wissen, über Ihre Beziehung mit diesen Eigenschaften und Magento Verhalten.

Danke.

EDIT:

Ich habe versucht, jede relevante Kombination von Quantität auf Lager (-1,0,1), Verfügbarkeit (in/out) und Rückstände (on/off) für ein Produkt, und das ist das Ergebnis:

St. Qu BckOrd St. Av isSalable() isSaleable() isAvailable() 
-1 0 0 0 0 0 
-1 0 1 N/A N/A N/A 
-1 1 0 0 0 0 
-1 1 1 1 1 1 
0 0 0 0 0 0 
0 0 1 N/A N/A N/A 
0 1 0 0 0 0 
0 1 1 1 1 1 
1 0 0 0 0 0 
1 0 1 1 1 1 
1 1 0 0 0 0 
1 1 1 1 1 1 

Nur der Vollständigkeit halber:

St. Av 0 = ausverkauft 
St. Av 1 = auf Lager 
BckOrd 0 = keine Rückstände zulässig 
BckOrd 1 = Rückstände sind erlaubt 

Ist es, die Verfügbarkeit der Ware im Lager-Schalter in Magento, der steuert, den Rückgabewert von allen die PHP-Methoden, aber wenn Sie Rückstände sind aus-und Bestandsmenge unterschreitet 1, der Lagerbestand wird automatisch zurückgesetzt werden, um 'out of stock' (daher der N/A Zeilen).

InformationsquelleAutor der Frage pancake | 2012-01-27

Schreibe einen Kommentar