Magento分开price.phtml

时间:2011-08-18 07:17:41

标签: magento block php

如何在不更改(template / catalog / product / view.phtml)中使用的价格模板的情况下,将新的价格模板添加到类别视图(template / catalog / product / list.phtml)?这两个文件都使用模板/ catalog / product / price.phtml,但我需要在template / catalog / product / list.phtml中使用单独的价格模板。

2 个答案:

答案 0 :(得分:2)

这不是一个非常好的解决方案,但你可以将price.phtml复制到你的自定义主题,然后检查你是否在一个类别页面上:

$handles = $this->getLayout()->getUpdate()->getHandles();
if (array_search('catalog_category_view', $handles)) {
    echo 'here you can do other things';
}

答案 1 :(得分:1)

将app / code / core / Mage / Catalog / Block / Product.php复制到app / code / local / YourModule / Catalog / Block / Product.php(关于制作自己模块的细节,你应该看到其他文档)。

在复制的文件中,关于第61行,更改

public function getPriceHtml($product)
    {
        $this->setTemplate('catalog/product/price.phtml');
        $this->setProduct($product);
        return $this->toHtml();
    }

public function getPriceHtml($product)
    {
        $this->setTemplate('catalog/product/your_price.phtml');
        $this->setProduct($product);
        return $this->toHtml();
    }

您可以在your_price.phtml中自定义价格视图。