Question

Une question pour les devs magento:

Pourquoi est-ce qu'un produit a permis l'état 1, alors qu'un produit handicapé a un statut de 2? Habituellement, « activé » ou « actif » ou tout ce qui obtient le statut 1, alors que l'inverse est 0. Y at-il une raison pour laquelle magento utilise 2 ici au lieu?

Était-ce utile?

La solution

D'abord toutes les valeurs ne doivent pas être encore importante.
Utilisez votre code et ces constantes Mage_Catalog_Model_Product_Status::STATUS_ENABLED Mage_Catalog_Model_Product_Status::STATUS_DISABLED.
La raison pour laquelle j'ai trouvé à ce jour est que lorsque vous voulez créer un produit, dans la plupart des cas, vous voulez qu'il soit activé. Si la valeur de statut de personne handicapée était 0, alors ce sera sélectionné parce que la façon dont les valeurs actuelles sont passées à la forme par $form->setValues($data).
Lors de la création d'un $data de produit est vide et, dans le cas de listes déroulantes, 0 = vides.
[EDIT] Je viens de me rappeler quelque chose d'autre.
Dans un premier temps le statut avait une table séparée et il y avait 3 valeurs possibles.

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

Et vous pouvez ajouter plus. vérifier app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php.
Cette approche a été abandonnée dans mysql4-upgrade-0.7.4-0.7.5.php et je suppose que la compatibilité ils ont gardé les IDs des statuts.

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

Autres conseils

la valeur de l'état du produit provient du champ de sélection « statut » de la gestion des produits dans l'admin. le « permis » et « désactivé » sont les options du champ de sélection avec les valeurs 1 et 2. ce ne sont pas des valeurs booléennes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top