【问题标题】:Magento won't render new block in layoutMagento 不会在布局中渲染新块
【发布时间】:2013-08-15 09:29:02
【问题描述】:

我是使用 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>
 ...

注意 - 我也尝试过不使用 &lt;reference name="content"&gt;&lt;/reference&gt; 包装器,结果相同。

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

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

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

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

【问题讨论】:

    标签: php magento magento-1.7


    【解决方案1】:

    我不确定,但如果 sn-p 正是您将其放入 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 文件中更改布局。在您的主题/布局文件夹中创建一个新文件并在那里进行更改。它更像是 magento,并且 local.xml 更改将始终覆盖正常的 xml 结构。

    希望有帮助!

    【讨论】:

    • Hi Florin -- 我试过了:- 1) 删除内容引用 2) 将带有内容引用的块移动到第一个内容引用块之外,3) 将其放在 local.xml 布局中 -- 没有工作......这越来越令人沮丧...... :(
    • 你刷新缓存了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2018-08-25
    • 2021-09-20
    相关资源
    最近更新 更多