Question

Nous avons un produit configurable appelé avec sku TEST et en dessous sont des produits simples (par exemple) rouge-ven1, rouge-ven2, bleu-ven3, etc. Le produit lui-même configurable n'a pas de prix, mais chaque produit simple fait . Je dois récupérer le prix du produit simple, basé sur les attributs qui sont sélectionnés. Donc, j'ai besoin le prix pour le produit rouge avec le fournisseur 2. Comment puis-je obtenir ce prix spécifique? Je suis actuellement en train d'afficher dynamiquement le prix à côté de l'attribut fournisseur (donc attribut fournisseur n'est pas sélectionné). Est-ce que je dois « invisiblement », sélectionnez la valeur d'attribut de fournisseur pour obtenir le prix? S'il vous plaît conseiller.

en train d'essayer:

<?php $_product    = $this->getProduct(); ?>
<?php $_price = $_taxHelper->getPrice($_product, $_product->getPrice()) ?>

<script>
var price = <?=$_price ?>;

            /...lots of non-applicable code
            for(var i=0; i < IDs.length; i++)//traversing the vendor detail nodes
            {   
                //Invisibly make selection of vendor so as to gather correct price
                var optionToSelect = $j('option', '#attribute136').filter(function() {
                    return $j(this).text().indexOf(data[i].vendor_id) != -1;
                }).val();
                var vals = $j('#attribute136').val() || [];
                vals.push(optionToSelect);
                $j('#attribute136').val(vals);

            $j('.details'+data[i].vendor_id).append('<li class="priceBlock">$'+price+'</li>');
            }

        }); 
</script>
Était-ce utile?

La solution

Il y a deux extension qui fait pour vous:

Simple Produits configurables

http://www.magentocommerce.com/magento-connect/ -products.html simple configurable

BCP - De meilleurs produits configurables

http://www.magentocommerce.com/magento-connect/ mieux configurable-products.html

Autres conseils

Vérifier le lien suivant. Cela vous aide. Dans ce post peut obtenir id produit de simple produit sélectionné de produit configurable. Et en utilisant cet identifiant simple produit vous pouvez obtenir le prix, qté, sku, etc ...

simple produit de produit configurable

Je l'ai fait en list.phtml. Il est un hack, mais cela fonctionne (et gratuit!)

<?php
foreach ($_productCollection as $_product):
    $_modifiedProduct = $_product;
    ?>
    <?php
    if ($_product->isConfigurable()) {
        $conf = Mage::getModel('catalog/product_type_configurable')->setProduct($_product);
        $simple_collection = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
        $appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters();

        $itemArr = array();
        foreach ($appliedFilters as $item) {

            $itemArr[] = $item->getLabel();
        }

        $attributesToFilter = array();
        foreach ($simple_collection as $simple_product) {

            $productModel = Mage::getModel('catalog/product')->setProduct($simple_product);

            $sizeAttr = $productModel->getResource()->getAttribute("size");
            $qualityAttr = $productModel->getResource()->getAttribute("quality");
            $attributesToFilter[] = $sizeAttrName = $sizeAttr->getSource()->getOptionText($simple_product->getSize());
            $attributesToFilter[] = $qualityAttrName = $qualityAttr->getSource()->getOptionText($simple_product->getQuality());

            sort($attributesToFilter);
            sort($itemArr);

            if ($attributesToFilter == $itemArr) {
                $_modifiedProduct = $simple_product;
                break(1);
            }
            unset($attributesToFilter);
        }
    }
// continue in foreach.
endforeach;
?>

Maintenant, vous pouvez afficher le prix comme ceci:

 <?php echo $this->getPriceHtml($_modifiedProduct, true) ?>
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top