Frage

Wir haben ein konfigurierbares Produkt, das mit SKU-Test aufgerufen wird, und darunter sind einfache Produkte (zum Beispiel) Red-Ven1, Rot-Ven2, Blue-VEV3 usw. Das konfigurierbare Produkt selbst hat keinen Preis, aber jedes einfache Produkt tut dies. Ich muss den Preis für das einfache Produkt basierend auf den ausgewählten Attributen abrufen. Ich brauche also den Preis für rotes Produkt mit Anbieter 2. Wie bekomme ich diesen spezifischen Preis? Ich versuche derzeit, den Preis neben dem Anbieterattribut dynamisch anzuzeigen (so wird das Anbieterattribut nicht ausgewählt). Muss ich den Anbieterattributwert "unsichtbar" auswählen, um den Preis zu erhalten? Bitte beraten.

Derzeit versuche:

<?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>
War es hilfreich?

Lösung

Es gibt zwei Erweiterungen, die dies für Sie tun:

Einfache konfigurierbare Produkte

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

BCP - besser konfigurierbare Produkte

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

Andere Tipps

Überprüfen Sie den folgenden Link. Das hilft dir. In diesem Beitrag kann Produkt -ID aus ausgewählten einfachen Produkten konfigurierbarer Produkte erhalten. Und mit dieser einfachen Produkt -ID können Sie Preis, Qty, SKU usw. erhalten ...

Einfaches Produkt von konfigurierbarem Produkt

Ich habe das gemacht list.phtml. Es ist ein Hack, aber es funktioniert (und es ist kostenlos!)

<?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;
?>

Jetzt können Sie einen solchen Preis zeigen:

 <?php echo $this->getPriceHtml($_modifiedProduct, true) ?>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top