Une question pour tous les développeurs de magento:
Pourquoi un produit activé a-t-il le statut 1, alors qu'un produit désactivé a le statut 2? Habituellement, "activé" ou "actif" ou tout ce qui obtient le statut 1, alors que l'inverse est 0. Y a-t-il une raison pour laquelle magento utilise 2 ici à la place?
stock
development
design
status
Benubird
la source
la source
Réponses:
Tout d'abord, les valeurs ne devraient même pas être importantes.
Utilisez dans votre code ces constantes
Mage_Catalog_Model_Product_Status::STATUS_ENABLED
etMage_Catalog_Model_Product_Status::STATUS_DISABLED
.La raison pour laquelle j'ai trouvé jusqu'à présent est que lorsque vous souhaitez créer un produit, dans la plupart des cas, vous souhaitez qu'il soit activé. Si la valeur du statut désactivé était
0
, cela sera sélectionné car la façon dont les valeurs actuelles sont transmises au formulaire$form->setValues($data)
.Lors de la création d'un produit
$data
est vide et, dans le cas de listes déroulantes, 0 = vide.[EDIT]
Je viens de me souvenir d'autre chose.
Initialement, le statut avait un tableau séparé et il y avait 3 valeurs possibles.
Et vous pourriez en ajouter plus. vérifier
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php
.Cette approche a été abandonnée
mysql4-upgrade-0.7.4-0.7.5.php
et je suppose que pour des raisons de compatibilité, ils ont conservé les identifiants des statuts.la source
la valeur de statut du produit provient du champ de sélection "status" de la gestion des produits dans admin. "activé" 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.
la source