我正在使用magento 1.7,在產品明細價格上我有一些自定義選項和一些可配置的產品選項。如何在magento中顯示自定義選項的價格範圍
我想要做的是我要顯示範圍內所有選項的價格,如最低總價格選項爲18.50,最高總價格選項爲55.90,則應顯示在產品頁面上某處,例如「 18.50 - 55.90「。
在此先感謝。
我正在使用magento 1.7,在產品明細價格上我有一些自定義選項和一些可配置的產品選項。如何在magento中顯示自定義選項的價格範圍
我想要做的是我要顯示範圍內所有選項的價格,如最低總價格選項爲18.50,最高總價格選項爲55.90,則應顯示在產品頁面上某處,例如「 18.50 - 55.90「。
在此先感謝。
試試下面的代碼
//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;
}
此代碼顯示相同的價格,「從€2.094,00到€2 .094,00「 – user2905641
將其存儲在數組中並進行排序。或使用我更新的答案 – liyakat
我認爲在編輯的代碼中有一些錯誤。語法不正確。 – user2905641
如果你downvoting也請寫原因 – user2905641