Отобразить ценовую категорию на странице корзины - PullRequest
2 голосов
/ 16 сентября 2011

Если я на этой странице: http: /// checkout / cart /

С продуктами в моей корзине я хотел бы отобразить многоуровневую цену, такую ​​же, как на странице товара, если она доступна.

Моя попытка была добавить

<checkout_cart_index>
    <block type="catalog/product_view" name="product.tierprices" as="tierprices" template="catalog/product/view/tierprices.phtml"/>
    </checkout_cart_index>

в мой XML-файл и добавить

<?php echo $this->getChildHtml('tierprices') ?>

к

\app\design\frontend\enterprise\<mytemplate>\template\checkout\cart\item\default.phtml

Ничего не делает- какие-либо дополнительные предложения?

Ответы [ 3 ]

1 голос
/ 26 сентября 2011

Кажется невозможным легко изменить макет. Вам необходимо изменить средство визуализации элементов и добавить отображение цены уровня вручную. Чтобы получить список доступных цен уровня, вам нужно получить модель цены. Вы можете получить его из модели продукта

$product->getPriceModel()

или, если у вас нет модели продукта, попробуйте следующий код

Mage::getSingleton('catalog/product_type')->priceFactory($productTypeId)

Цитата содержит информацию о типе продукта.

Если у вас есть модель цены, просто вызовите метод getTierPrice (), чтобы получить все цены уровня в виде массива.

$priceModel->getTierPrice()
1 голос
/ 26 сентября 2011

Это должно дать вам представление о том, что нужно сделать.

файл макета

<?xml version="1.0"?>
<layout version="0.1.0">
    <checkout_cart_index>
        <reference name="additional.product.info">
            <block type="LokeyCoding_Cart/TierPrice" name="additional.product.info.tierprice" />
        </reference>
    </checkout_cart_index>
</version>

файл блока

<?php
class LokeyCoding_Cart_Block_TierPrice extends Mage_Core_Block_Abstract
{
    protected function _toHtml()
    {
        $parent = $this->getParentBlock();
        if ($parent) {
            $item = $parent->getItem();
            if ($item instanceof Mage_Sales_Model_Quote_Item) {
                return $item->getProduct()->getTierPriceHtml();
            }
        }

        return '';
    }
}
1 голос
/ 24 сентября 2011

Вы можете отредактировать файл .phtml и добавить $ this-> getTierPrices ($ _ product); //or $ this-> getTierPrices ($ _ item);если вы просто хотите отобразить цены уровня продуктов.

Обратите внимание, что getTierPrices () работает только при нахождении в списке продуктов или на странице просмотра продукта, поэтому вам необходимо скопировать метод getTierPrices ()можно найти внутри List.php для вашего пользовательского модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...