0

目录产品列表页面的模板文件是 list.phtml。使用 foreach 循环渲染类别中的所有产品。

我对 price.phtml 的渲染感到困惑。因为句柄中没有它的块

现在,<?php echo $this->getPriceHtml($_product, true) ?>返回产品的价格。

此方法如何链接到 price.phtml ?
请阐明一些观点。谢谢

4

1 回答 1

0

与 list.phtml 一起使用的 Block 类是Mage_Catalog_Block_Product_List,因此该方法getPriceHtml位于此类或某些此类的父级中。在这种情况下,方法恰好位于Mage_Catalog_Block_Product_Abstract我们块类的直接父级中:

public function getPriceHtml($product, $displayMinimalPrice = false, $idSuffix = '')
{
    $type_id = $product->getTypeId();
    if (Mage::helper('catalog')->canApplyMsrp($product)) {
        $realPriceHtml = $this->_preparePriceRenderer($type_id)
            ->setProduct($product)
            ->setDisplayMinimalPrice($displayMinimalPrice)
            ->setIdSuffix($idSuffix)
            ->toHtml();
        $product->setAddToCartUrl($this->getAddToCartUrl($product));
        $product->setRealPriceHtml($realPriceHtml);
        $type_id = $this->_mapRenderer;
    }

    return $this->_preparePriceRenderer($type_id)
        ->setProduct($product)
        ->setDisplayMinimalPrice($displayMinimalPrice)
        ->setIdSuffix($idSuffix)
        ->toHtml();
}
于 2013-06-14T06:53:44.967 回答