0の代わりに無効ステータス2があるのはなぜですか?
-
16-10-2019 - |
質問
Magento開発者の質問:
無効な製品のステータスは2のステータス1にあるのはなぜですか?通常、「有効」または「アクティブ」またはステータス1を取得するものは何でも、コンバースは0です。
解決
まず、値は重要ではありません。
コードでこれらの定数を使用します Mage_Catalog_Model_Product_Status::STATUS_ENABLED
と Mage_Catalog_Model_Product_Status::STATUS_DISABLED
.
私がこれまでに見つけた理由は、あなたが製品を作成したいとき、ほとんどの場合、それを有効にしたいからです。ステータス無効の値があった場合 0
, 、次に、現在の値がフォームに渡される方法があるため、これは選択されます $form->setValues($data)
.
製品を作成するとき $data
空で、ドロップダウンの場合、0 =空です。
編集
私はちょうど何か他のものを覚えていました。
当初、ステータスには別のテーブルがあり、3つの値がありました。
insert into {$this->getTable('catalog_product_status')}(`status_id`,`status_code`) values (1,'Enabled'),(2,'Disabled'),(3,'Out-of-stock');
そして、あなたはもっと追加することができます。小切手 app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php
.
このアプローチがドロップされました mysql4-upgrade-0.7.4-0.7.5.php
そして、互換性のために、彼らはステータスのIDを保持していたと思います。
DROP TABLE IF EXISTS {$this->getTable('catalog_product_status')};
他のヒント
製品のステータス値は、管理者の製品管理から「ステータス」選択フィールドから得られます。 「有効」と「無効」は、値1と2の選択フィールドのオプションです。これらはブール値ではありません。