0

我的代码:

<reference name="before_body_end">
    <block type="test/test" template="test/test.phtml" name="test-test" />
</reference>

当我更改为

<reference name="after_body_end">
    <block type="test/test" template="test/test.phtml" name="test-test" />
</reference>

然后它不工作。请帮忙

4

1 回答 1

1

它不起作用,因为您正在引用......嗯......什么都没有。具有名称的块after_body_end不存在。
我将解释如何添加它,但首先我想明确表示我不赞成在 body 标记之外添加 html。这可能会导致某些浏览器出现问题。
首先,您需要使用 name 创建块after_body_end
为此,编辑文件 app/design/frontend/{interface}/{theme}/layout/page.xml 并查找:

<block type="core/text_list" name="before_body_end" as="before_body_end" translate="label">
    <label>Page Bottom</label>
</block> 

在其下方添加以下内容。

<block type="core/text_list" name="after_body_end" as="after_body_end" translate="label">
    <label>Page Unde the body tag</label>
</block> 

现在你的块存在了。您只需将其添加到您的页面。对于此编辑,以下文件均位于app/design/frontend/{interface}/{theme}/template/page/

  • 1列.phtml
  • 2columns-left.phtml
  • 2columns-right.phtml
  • 3columns.phtml
  • 空的.phtml
  • 弹出.phtml
  • 打印.phtml

对于所有这些文件,在该</body>行下添加:

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

清除缓存并享受。

于 2013-07-09T08:17:58.573 回答