马根托赢得';t在布局中渲染新块


Magento won't render new block in layout

我是Magento的新手,我正试图在产品视图页面的底部添加一个"最近查看的"块。我在这里创建了一个catalog.xml布局文件->

/app/design/frontend/default/<theme_name>/layout/catalog.xml

然后我编辑了这个文件,添加了"最近查看的产品"块,如这里所示->

<reference name="content">
     <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
          <block type="catalog/product_view_media" name="product.info.media" as="media"  template="catalog/product/view/media.phtml"/>
     <reference name="content">
         <block type="reports/product_viewed" name="reports.product_viewed" as="product_viewed" template="reports/product_viewed.phtml"/>
     </reference>
 ...

注意-我也尝试了不使用<reference name="content"></reference>包装器的方法,得到了相同的结果。

在view.phtml模板中,我添加了以下内容:-

<?php echo $this->getChildHTML('product_viewed'); ?>

然而,没有显示任何内容,并且在调试模板提示打开的情况下,没有对新添加的块模板的引用。。

有人看到我哪里错了吗?非常感谢富

我不确定,但如果这个片段正是你在local.xml中放置它的方式,那么你就有了错误的语法。您有两次引用名称内容。尝试放置

<reference name="content">
     <block type="reports/product_viewed" name="reports.product_viewed" as="product_viewed" template="reports/product_viewed.phtml"/>
 </reference>

外部:

<reference name="content">
     <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
          <block type="catalog/product_view_media" name="product.info.media" as="media"  template="catalog/product/view/media.phtml"/>

或者从产品视图块中移除参考标签。除此之外,我建议在local.xml文件中更改布局。在主题/布局文件夹中创建一个新文件,并在那里进行更改。它更像是在工作,local.xml的更改将完全覆盖正常的xml结构。

希望能有所帮助!