Magento: Filtrer les produits par Statut
J'ai un peu de sérieux Magento questions ici. Comme prévu le suivant:
$products = Mage::getModel('catalog/category')->load($category_id)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', array('eq' => 1));
Sera de retour tous les produits permis pour mon $category_id. Cependant ceci:
$products = Mage::getModel('catalog/category')->load($category_id)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', array('eq' => 0));
Ne retourne pas désactivé produits. Je n'arrive pas à trouver un moyen de revenir désactivé produits, et je ne sais pas pourquoi.
J'ai essayé ceci:
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);
Qui est censé avoir travaillé, mais apparemment, peut avoir été abandonnée.
Personne ne sait comment obtenir tous les produits dans une catégorie, activé et désactivé?
- Si vous utilisez plat catalogue, vous ne serez pas en mesure de retourner désactivé produits comme plat catalogue rassemble uniquement des produits compatibles.
- Je vois, est-il un moyen de les contourner cela? Edit: en Regardant dans mes paramètres, à la fois Utiliser un Catalogue Produit et de l'Utiliser à Plat Catalogue Catégorie, sont ensemble ou pas. Est-ce à dire que je ne suis pas à l'aide d'un plat de catalogue?
- En effet, cela signifie que vous n'êtes pas à l'aide de plates catalogue...
- Donc, techniquement, alors, je devrais être en mesure de retourner désactivé produits!
Vous devez vous connecter pour publier un commentaire.
Ne vous inquiétez pas, il vous suffit de s'est pris au piège par un très inhabituel définition de constante^^. Juste essayer:
Pour quelles raisons, Varien a décidé de définir ce
STATUS_DISABLED
constante avec une valeur de2
, au lieu de la plus intuitive (et couramment utilisé) valeur de0
.Je pense que vous pouvez le faire en définissant magasin par défaut comme
assurez-vous d'enregistrer le conserver de la valeur et revenir après avoir fait de la ci-dessus.
Ou à l'aide d'un script à partir de l'extérieur de magento et invoquer mage par
Je n'ai pas trouvé de réponse en tant que tel à ma question ci-dessus. Mais j'ai sauvé beaucoup de temps en utilisant une autre méthode.
J'ai exporté un fichier CSV de tous les produits dans mon Magento, supprimé toutes les colonnes à l'exception de la Catégorie ID et le SKU (c'est tout ce que je nécessaire), puis filtré pour retourner toutes les références à la place.
Si ça aide quelqu'un ici est le code -
Cette solution a été créée à l'aide d'un précédent sujet sur le filtrage des CSVs, ici
Donc pour l'instant, je peux survivre. cependant - une réponse à cette question est encore nécessaire!
Rien ne fonctionne si
catalog_flat_product
est sur dans le backend de configuration->catalogue.essayer ce..ce sera donner à tous les produits activé et désactivé en fin de compte
son vraiment simple et après cela, vous pouvez facilement filtrer les produits par le statut de