質問

Magento開発者の質問:

無効な製品のステータスは2のステータス1にあるのはなぜですか?通常、「有効」または「アクティブ」またはステータス1を取得するものは何でも、コンバースは0です。

役に立ちましたか?

解決

まず、値は重要ではありません。
コードでこれらの定数を使用します Mage_Catalog_Model_Product_Status::STATUS_ENABLEDMage_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の選択フィールドのオプションです。これらはブール値ではありません。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top