Получите многоуровневые цены на домашней странице/внешний вид продукта


Я сделал блок .phtml, который должен отображать самую низкую цену по параметру sku

{{block type="core/template" sku="theproductsku" template="getlowestprice.phtml"}}

И getlowestprice.phtml выглядит так

$_product = Mage::getModel('catalog/product')->loadByAttribute('sku',$this->sku);
$price=$prod->getPrice();

Хотя получение цены работает просто отлично, получение цены уровня, как я использовал в представлении продукта, не работает:

$prices = $this->getTierPrices($_product);

($цены равны НУЛЮ)

Существует ли какой-либо обходной путь для получения цен уровня за пределами представления продукта?

Author: Tearsdontfalls, 2014-06-09

3 answers

$custom = Mage::getModel('catalog/product')->loadByAttribute('sku',$this->sku); var_dump($custom->getTierPrice());
 2
Author: Charlie, 2014-06-16 06:07:30

Чтобы просто получить цены всех уровней, вы можете попробовать следующее:

$prices = $product->getFormatedTierPrice();

Причина, по которой ваш вызов $this->getTierPrices($_product); не работает, заключается в том, что вы блокируете его не того типа, который расширяет Mage_Catalog_Block_Product_Abstract, который содержит эту функцию getTierPrices.

Что вы могли бы сделать, так это использовать эту функцию, чтобы создать свой собственный блок, который расширяет это, а затем использовать это вместо core/template

 6
Author: David Manners, 2014-06-13 13:29:16

Создайте свой собственный пользовательский блок

$_tierPricing = $this->getLayout()->createBlock(
    'catalog/product_view',
    'product.tierprices',
    array(
        'product_id' => $yourproductId
    )
);
$_tierPricing->setTemplate('catalog/product/view/tierprices.phtml');

<?php echo $_tierPricing->getTierPriceHtml();?>
 2
Author: TBI Infotech, 2014-06-13 14:12:21