2011-11-08 231 views
2

magento的当前默认功能是它显示类别页面右侧最近查看的产品。现在我想在产品页面的底部显示相同的内容。所使用的phtml文件在位置上被命名为在产品页面上显示recent_viewed产品页面

frontend/base/default/template/reports/product_viewed.phtml

有没有简单的方法来做到这一点?

回答

2

在您的主题中,您将修改catalog.xml文件(/ app/design/frontend/{your theme} /default/layout/catalog.xml)。找到以下部分并在内容参考底部添加模板块调用。

<catalog_product_view translate="label"> 
<reference name="content"> 
    <block type="reports/product_viewed" name="product.recently.viewed" as="product_recently_viewed" template="reports/product_viewed.phtml"/> 
</reference> 
</catalog_product_view> 

然后,您需要修改您希望块显示位置的主题。在/ app/design/frontend/{your theme} /default/template/catalog/product/view.phtml中,在希望显示最近浏览的产品的位置添加以下行。

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

这将得到它显示,但你可能需要调整模板一点,因为它是专为左列,如果你将其插入中间的一个可能无法正常布局。

+0

: - 它不工作......甚至我试图使用退出;在view.phtml的上面一行之后..不工作... – ScoRpion

+0

对不起,我错过了一个“as”caluse int eh指令。我已经更新了它们并在我的本地安装中对它进行了测试,以确认此作品。另外,请记住,此区域将被禁用,直到您转到两个不同的产品,并且您实际上已经查看了最近的项目。我刚刚遇到了这个问题。 –

+0

非常感谢亲爱的..它的工作立即..我会感到高兴,如果你能解释它的过程如何工作..究竟发生了什么..再次感谢.. – ScoRpion

1

您有两种选择。您可以使用布局XML使right.reports.product.viewed阻止product.info块的孩子以及对catalog/product/view.phtml模板的getChildHtml()调用,或者可以将产品页面更改为2列右侧布局。

+0

magento附带产品页面的默认布局,即使其为3列也不会在产品页面中可用..以及可以在类别页面上找到 – ScoRpion

+0

“默认布局”是页面中“根”声明的功能。 XML。任何布局文件都可以通过布局更新句柄(首先加载“默认”)来更改布局文件。在您的local.xml中,您可以使用'句柄来使用引用来更新根节点。 – benmarks

2

用此代码显示最近查看的产品。

​​
相关问题