Eine Frage für alle Magento-Entwickler:
Warum hat ein aktiviertes Produkt den Status 1, während ein deaktiviertes Produkt den Status 2 hat? Normalerweise hat "enabled" oder "active" oder was auch immer den Status 1, während die Umkehrung 0 ist. Gibt es einen Grund, warum Magento hier stattdessen 2 verwendet?
stock
development
design
status
Benubird
quelle
quelle
Antworten:
Zuallererst sollten die Werte nicht einmal wichtig sein.
Verwenden Sie in Ihrem Code diese Konstanten
Mage_Catalog_Model_Product_Status::STATUS_ENABLED
undMage_Catalog_Model_Product_Status::STATUS_DISABLED
.Der Grund, den ich bisher gefunden habe, ist, dass Sie in den meisten Fällen möchten, dass ein Produkt aktiviert wird, wenn Sie es erstellen möchten. Wenn der Wert für den Status deaktiviert war
0
, wird dieser ausgewählt, da die aktuellen Werte über an das Formular übergeben werden$form->setValues($data)
.Beim Anlegen eines Produktes
$data
ist leer und bei Dropdowns 0 = leer.[EDIT]
Ich habe mich gerade an etwas anderes erinnert.
Anfangs hatte der Status eine separate Tabelle und es gab 3 mögliche Werte.
Und Sie könnten noch mehr hinzufügen. überprüfen
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php
.Dieser Ansatz wurde gestrichen
mysql4-upgrade-0.7.4-0.7.5.php
und ich denke, aus Kompatibilitätsgründen wurden die IDs der Status beibehalten.quelle
Der Wert für den Produktstatus stammt aus dem Auswahlfeld "Status" der Produktverwaltung in admin. "enabled" und "disabled" sind die Optionen des Auswahlfelds mit den Werten 1 und 2. Dies sind keine booleschen Werte.
quelle