Frage

Eine Frage für alle Magento -Entwickler:

Warum hat ein aktiviertes Produkt Status 1, während ein behindertes Produkt einen Status von 2 hat? Normalerweise "aktiviert" oder "aktiv" oder was auch immer den Status 1 erhält, während das Converse 0 ist. Gibt es einen Grund, warum Magento hier stattdessen 2 verwendet?

War es hilfreich?

Lösung

Erstens sollte die Werte nicht einmal wichtig sein.
Verwenden Sie in Ihrem Code diese Konstanten Mage_Catalog_Model_Product_Status::STATUS_ENABLED und Mage_Catalog_Model_Product_Status::STATUS_DISABLED.
Der Grund, warum ich bisher festgestellt habe, ist, dass Sie in den meisten Fällen in den meisten Fällen aktiviert werden sollen, wenn Sie ein Produkt erstellen möchten. Wenn der Wert für deaktiviertes Status war 0, und dann wird dies ausgewählt, da die Art und Weise, wie die aktuellen Werte an das Formular übergeben werden $form->setValues($data).
Beim Erstellen eines Produkts $data ist leer und im Fall von Dropdowns 0 = leer.
BEARBEITEN
Ich erinnerte mich nur an etwas anderes.
Zunächst hatte der Status eine separate Tabelle und es gab 3 mögliche Werte.

insert  into {$this->getTable('catalog_product_status')}(`status_id`,`status_code`) values (1,'Enabled'),(2,'Disabled'),(3,'Out-of-stock');

Und Sie könnten mehr hinzufügen. überprüfen app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php.
Dieser Ansatz wurde eingesetzt mysql4-upgrade-0.7.4-0.7.5.php Und ich denke, dass sie für die Kompatibilität die IDs des Status behalten haben.

DROP TABLE IF EXISTS {$this->getTable('catalog_product_status')};

Andere Tipps

Der Produktstatuswert stammt aus dem Feld "Status" auswählen vom Produktmanagement in Admin. Das "aktivierte" und "deaktivierte" sind die Optionen des SELECT -Feldes mit den Werten 1 und 2. Dies sind keine booleschen Werte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top