Magento Blocks显示在页脚中?

时间:2014-02-26 21:18:21

标签: xml magento block

这可能是一个非常基本的问题。我在page.xml中创建了一个自定义块,然后将其放在标题块中。但它显示在我的页面底部。我搜索了教程和用户指南,但我找不到任何东西。

<block type="page/html_header" name="header" as="header">
    <block type="page/template_links" name="serie.menu" as="serieMenu" output="toHtml" template="page/html/series.phtml" />
</block>

1 个答案:

答案 0 :(得分:1)

检查HTML,查看阻止HTML呈现的位置。如果它在标题中输出HTML,但显示在底部,则很可能是CSS将块定位在您看到的位置。

我建议不要修改page.xml,而是在layouts目录中创建local.xml文件,并在那里包含块定义。您可以使用<reference>标记来定位特定的块,并将块注入其中。

例如,由于您要定位名为header的块,因此可以使用<reference name="header">来定位该特定块,并定义您自己的块定义。

为此,您需要在主题目录中创建文件 /layouts/local.xml 文件,并在文件中包含以下内容:

<?xml version="1.0"?>
<layout version="0.1.0">

    <!-- Default handle, loaded on most pages -->
    <default>
        <reference name="header">
            <block type="page/template_links" name="serie.menu" as="serieMenu" output="toHtml" template="page/html/series.phtml" />
        </reference>
    </default>

</layout>

现在您的块已为标题定义,现在可以在 templates / page / header.phtml 文件中调用它。您可以像这样输出您的块:

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

请记住,如果启用了缓存管理,modifiyng布局文件将要求您刷新Magento缓存。