Php 如何在Magento中显示可配置的产品库存数量?
我编写这段代码是为了显示一些可配置的产品是否有库存。但是我无法在varien/product.js中获得库存数量Php 如何在Magento中显示可配置的产品库存数量?,php,javascript,magento-1.6,Php,Javascript,Magento 1.6,我编写这段代码是为了显示一些可配置的产品是否有库存。但是我无法在varien/product.js中获得库存数量 updateStock: function(){ var tempProducts = []; var allowedProducts = []; var idColor = jQuery('#attribute85').val(); var idTalla = jQuery('#attribute127').val(); // produ
updateStock: function(){
var tempProducts = [];
var allowedProducts = [];
var idColor = jQuery('#attribute85').val();
var idTalla = jQuery('#attribute127').val();
// productos por color
var options = this.getAttributeOptions(85);
for (var i = 0; i < options.length; i++ ) {
if (options[i].id == idColor) {
for (var j = 0; j < options[i].products.length; j++) {
tempProducts.push(options[i].products[j]);
}
}
}
jQuery('#input-box-127 a').each(function(index) {
// jQuery(this).find('.talla').removeClass('seleccionado');
jQuery(this).find('div').addClass('sin_stock');
idTalla = jQuery(this).attr('rel');
options = spConfig.getAttributeOptions(127);
for (var i = 0; i < options.length; i++ ) {
if (options[i].id == idTalla) {
for (var j = 0; j < options[i].products.length; j++) {
for (var index = 0; index < tempProducts.length; index++) {
if (tempProducts.indexOf(options[i].products[j]) > -1) {
//alert(jQuery(this).text());
jQuery(this).find('div').removeClass('sin_stock');
}
}
}
}
}
});
return allowedProducts.length > 0;
},
updateStock:function(){
var tempProducts=[];
var allowedProducts=[];
var idColor=jQuery('#attribute85').val();
var idTalla=jQuery('#attribute127').val();
//颜色产品
var options=this.getAttributeOptions(85);
对于(变量i=0;i-1){
//警报(jQuery(this.text());
jQuery(this).find('div').removeClass('sin_stock');
}
}
}
}
}
});
返回允许的产品。长度>0;
},
magento中是否有任何变量可用于获取可配置产品库存?在magento中,可配置产品没有库存水平
每个子产品/变体都有自己的库存水平,因此您需要检查当前所选变体的库存。在Magento中,没有可配置产品的库存水平
每个子产品/变体都有自己的库存水平,因此您需要检查当前所选变体的库存。您可以获得子产品列表,并将所有子产品数量作为可配置产品的数量进行计数
$product=Mage::getModel("catalog/product");
$prod=$product->load($prod_id);
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($prod);
$col = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
$total_qty=0;
foreach($col as $sprod){
$sprod=$product->load($sprod->getId());
$qty = intval(Mage::getModel('cataloginventory/stock_item')->loadByProduct($sprod)->getQty());
$total_qty+=$qty;
}
您可以获取子产品列表,并将所有子产品数量作为可配置产品的数量进行计数
$product=Mage::getModel("catalog/product");
$prod=$product->load($prod_id);
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($prod);
$col = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
$total_qty=0;
foreach($col as $sprod){
$sprod=$product->load($sprod->getId());
$qty = intval(Mage::getModel('cataloginventory/stock_item')->loadByProduct($sprod)->getQty());
$total_qty+=$qty;
}
注意:加载到循环中是不可伸缩的,如果您查看Mage\u CatalogInventory\u Model\u Stock\u Item::loadByProduct()方法,您会注意到只需要产品ID,因此似乎不需要$sprod=$product->load($sprod->getId())注意:加载到循环中是不可伸缩的,如果您查看Mage\u CatalogInventory\u Model\u Stock\u Item::loadByProduct()方法,您会注意到只需要产品ID,因此似乎不需要$sprod=$product->load($sprod->getId())