Magento不会在布局中渲染新的块

时间:2013-08-15 09:29:02

标签: php magento magento-1.7

我是与Magento合作的新手,我正在尝试添加一个“最近浏览过的'阻止到“产品视图”页面的底部。我在这里创建了一个catalog.xml布局文件 - >

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

然后,我编辑了此文件,以添加“最近浏览过的产品”#39;阻止如此处所示 - &gt;

<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'); ?>

但是没有显示任何内容并且调试模板提示已打开,则没有对新添加的块模板的引用。

谁能看到我哪里出错了? 非常感谢 富

1 个答案:

答案 0 :(得分:1)

我不确定但是如果代码片段与您将其放在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结构。

希望有所帮助!