有以下数据:
超级属性ID, 超级选项选择属性ID
我希望在产品选项中输入值。
每个产品都具有相同的超级属性,更改每个选项中相同产品的设置有什么不同的值
一般情况下,我需要获得超级属性选项的超级属性id的选项价格选择产品ID
我在下面生成了这个代码解决了,但这太糟糕了=(
$produto_cor = Mage::getModel('catalog/product')->load($id_produto);
$produto_cor_options = $produto_cor->getTypeInstance(true)->getConfigurableAttributesAsArray($produto_cor);
foreach($produto_cor_options as $options){
$atributo_cor = $options['values'];
foreach ($atributo_cor as $options2){;
echo $options2['pricing_value'] . '<br />';
}
}
答案 0 :(得分:1)
尝试以下代码......
$configProd=Mage::getModel('catalog/product')->load($config_proid);
$AllowAttributes=$configProd->getTypeInstance(true)
->getConfigurableAttributes($configProd);
$optionPrices = array();
$_attribute_id = Mage::getModel('eav/entity_attribute')->loadByCode('catalog_product','color')->getId();
foreach ($AllowAttributes as $attribute) {
$productAttribute = $attribute->getProductAttribute();
$attributeId = $productAttribute->getId();
// run rest of when color attribute is looped.
if($productAttribute->getId()!=$_attribute_id){
continue; }
$prices = $attribute->getPrices();
if (is_array($prices)) {
foreach ($prices as $value) {
//$value['value_index'] is option id
$optionPrices[$value['value_index']]=$value;
}
}
}
答案 1 :(得分:-2)
代码Amit Bera,帮助我解决了解决问题的决议
$cor = addslashes($_GET['cor']);
$cor_selecionada = addslashes($_GET['cor_selecionada']);
$configProd = Mage::getModel('catalog/product')->load($id_produto);
$AllowAttributes=$configProd->getTypeInstance(true)->getConfigurableAttributes($configProd);
$optionPrices = array();
foreach ($AllowAttributes as $attribute) {
$productAttribute = $attribute->getProductAttribute();
if($productAttribute->getId() == $cor){
$prices = $attribute->getPrices();
if (is_array($prices)) {
foreach ($prices as $value) {
if($value['value_index'] == $cor_selecionada){
echo $value['pricing_value'];
}
}
}
}
}