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