2013-10-22 63 views
0

我正在使用magento 1.7,在產品明細價格上我有一些自定義選項和一些可配置的產品選項。如何在magento中顯示自定義選項的價格範圍

我想要做的是我要顯示範圍內所有選項的價格,如最低總價格選項爲18.50,最高總價格選項爲55.90,則應顯示在產品頁面上某處,例如「 18.50 - 55.90「。

在此先感謝。

+0

如果你downvoting也請寫原因 – user2905641

回答

0

試試下面的代碼

//load configurable product  
$product = Mage::getModel('catalog/product')->load(some_id); 
//load all children 
$childProducts = Mage::getModel('catalog/product_type_configurable') 
        ->getUsedProducts(null,$product); 
foreach($childProducts as $child){ 
    $_child = Mage::getModel('catalog/product')->load($child->getId()); 
    $childPrice = $_child->getPrice(); 
    //compare the $childPrice 
} 

或在線查詢應該是這樣

<?php 
    $db = Mage::getSingleton('core/resource')->getConnection('core_write'); 
    $result = $db->query('SELECT a.product_id, a.product_super_attribute_id, ap.product_super_attribute_id, ap.pricing_value FROM catalog_product_super_attribute AS a INNER JOIN catalog_product_super_attribute_pricing AS ap ON a.product_super_attribute_id=ap.product_super_attribute_id WHERE a.product_id='.$_product->getId().' ORDER BY ap.pricing_value DESC LIMIT 1'); 
    $rows = $result->fetch(); 
    echo 'From '.Mage::helper('core')->currency($_product->getPrice()).' to '.Mage::helper('core')->currency($rows ['pricing_value']+$_product->getPrice()); 
?> 

編輯(可選)

$prices = array(); 
$associated = $_product->getTypeInstance(true)->getAssociatedProductCollection($_product) 
->addAttributeToSelect('special_pric$ 
foreach ($associated as $assoc) { 
    $prices[] = $assoc->getSpecialPrice(); 
} 
if (count($prices)) { 
    $min_price = min($prices); 
    $max_price = max($prices); 
} else { 
    $min_price = 0; 
    $max_price = 0; 
} 
+0

此代碼顯示相同的價格,「從€2.094,00到€2 .094,00「 – user2905641

+0

將其存儲在數組中並進行排序。或使用我更新的答案 – liyakat

+0

我認爲在編輯的代碼中有一些錯誤。語法不正確。 – user2905641

相關問題