Comment faire pour afficher des offres groupées dans la liste des catégories lorsque le produit est simple rupture de stock?

magento.stackexchange https://magento.stackexchange.com/questions/547

Question

Je suis en train d'afficher le produit fourni dans la liste des produits de la catégorie sur le frontend même lorsque le produit simple, il est concists de rupture de stock. Je veux seulement cacher le bouton Ajouter au panier.

Je l'ai regardé à changer la classe Mage_Bundle_Model_Product_Type pour retourner vrai sur le chèque de stock, mais qui n'est pas vraiment une solution.

Est-il possible de le faire d'une manière propre, soit creux paramètres ou en étendant peu de code de base que possible?

Était-ce utile?

La solution

Vous pouvez créer une méthode dans l'un des assistants

public function isBundleAvailable($_product) {
    $bundle = Mage::getModel('catalog/product')->load($_product->getId());
    $selectionCollection = $bundle->getTypeInstance(true)->getSelectionsCollection(
        $bundle->getTypeInstance(true)->getOptionsIds($bundle), $bundle
    );
    $items = array();

    foreach($selectionCollection as $option) {        
        $isAvailable = $option->getStockItem()->getIsInStock();
        if (!$isAvailable) {
            return false;
        }
    }
     return true;
}

Ensuite, dans le modèle, vous pouvez utiliser quelque chose comme ça:

<?php if (Mage::helper('my_module')->isBundleAvailable($_product)): ?>
    <?php //display add to cart button
<?php endif ?>

Autres conseils

Le produit livré doit être visible lorsque vous avez l'option: Système> Configuration> Inventaire> Options sur actions> Affichage de produits hors stock défini à Oui. Tous les produits hors stock sont énumérés, mais vous n'avez pas bouton Ajouter au panier.

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