Antes de tudo, os valores nem deveriam ser importantes.
Use no seu código essas constantes Mage_Catalog_Model_Product_Status::STATUS_ENABLED
e Mage_Catalog_Model_Product_Status::STATUS_DISABLED
.
A razão que encontrei até agora é que, quando você deseja criar um produto, na maioria dos casos, deseja que ele seja ativado. Se o valor do status desativado foi 0
, ele será selecionado porque a maneira pela qual os valores atuais são transmitidos ao formulário $form->setValues($data)
.
Ao criar um produto, ele $data
está vazio e, no caso de listas suspensas, 0 = vazio.
[EDIT]
Acabei de me lembrar de outra coisa.
Inicialmente, o status tinha uma tabela separada e havia 3 valores possíveis.
insert into {$this->getTable('catalog_product_status')}(`status_id`,`status_code`) values (1,'Enabled'),(2,'Disabled'),(3,'Out-of-stock');
E você pode adicionar mais. cheque app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php
.
Essa abordagem foi adotada mysql4-upgrade-0.7.4-0.7.5.php
e acho que, por compatibilidade, eles mantinham os IDs dos status.
DROP TABLE IF EXISTS {$this->getTable('catalog_product_status')};