2014-03-28 28 views
3

数据有:如何获取超级属性的值?

超级属性ID, 超级选项中选择属性ID

而且我想在一个产品的选项输入的值。

每个产品都有相同的超级属性,是什么做的是改变了设置在每个选项相同的产品具有不同的值

在一般情况下,我需要得到超级属性的supert 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

问题不明确.... –

+0

我有颜色的属性配置产品的分辨率,该属性具有与每个可以通过多种方式有一个额外的价值 我想获得额外的价值,因为我已经给找到id和attributo选项的id你想要的附加值 – Dexxtz

回答

-2

代码阿米特·贝拉,帮我失望的是解决我的问题

$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']; 
       } 
      } 
     } 
    } 

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

       }