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 に答える