Get Associated Product IDs from a Configurable Product

Getting all the simple products associated with a configurable product

Posted on March 30, 2016 in Magento

First we generate the template from base/default/template in your theme template file:


app/design/frontend/default/[your theme]/template/catalog/product/view/type/options/configurable.phtml

Add following script at the right end of the file:


spConfig.getIdOfSelectedProduct = function () {
    var existingProducts = new Object();
    for (var i = this.settings.length - 1; i >= 0; i--) {
        var selected = this.settings[i].options[this.settings[i].selectedIndex];
        if (selected.config) {
            for (var iproducts = 0; iproducts < selected.config.products.length; iproducts++) {
                var usedAsKey = selected.config.products[iproducts] + "";
                if (existingProducts[usedAsKey] == undefined) {
                    existingProducts[usedAsKey] = 1;
                } else {
                    existingProducts[usedAsKey] = existingProducts[usedAsKey] + 1;
                }
            }
        }
    }
    for (var keyValue in existingProducts) {
        for (var keyValueInner in existingProducts) {
            if (Number(existingProducts[keyValueInner]) < Number(existingProducts[keyValue])) {
                delete existingProducts[keyValueInner];
            }
        }
    }
    var sizeOfExistingProducts = 0;
    var currentSimpleProductId = "";
    for (var keyValue in existingProducts) {
        currentSimpleProductId = keyValue;
        sizeOfExistingProducts = sizeOfExistingProducts + 1
    }
    if (sizeOfExistingProducts == 1) {
        alert("Selected product is: " + currentSimpleProductId)
    }
}

Now add onchange event to your dropdown in same page:


onchange = "spConfig.getIdOfSelectedProduct()"


comments powered by Disqus