Прежде всего, ценности не должны быть важными.
Используйте в своем коде эти константы 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
и я думаю, что для совместимости они сохранили идентификаторы статусов.
DROP TABLE IF EXISTS {$this->getTable('catalog_product_status')};