如何在magento的页脚显示顶部链接?

时间:2012-05-19 10:23:29

标签: magento toplink

如何在页脚下方显示toplinks,

enter image description here

我在Footer.phtml文件中使用了以下代码,

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

但是没有显示链接?我怎么能这样做?

提前致谢

footer.phtml

<div class="footer-container">
    <div class="footer">
        <?php echo $this->getChildHtml() ?>
        <?php echo $this->getChildHtml('newsletter') ?>

        <?php //echo $this->getLayout()->createBlock('cms/block')->setBlockId('sample_links')->toHtml() ?>

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

    <?php echo $this->getChildHtml('top.links'); ?> 


        <p class="bugs"><?php echo $this->__('Help Us to Keep Magento Healthy') ?> - <a href="http://www.magentocommerce.com/bug-tracking" onclick="this.target='_blank'"><strong><?php echo $this->__('Report All Bugs') ?></strong></a> <?php echo $this->__('(ver. %s)', Mage::getVersion()) ?></p>
        <address><?php echo $this->getCopyright() ?></address>
    </div>
</div>
</div>

1 个答案:

答案 0 :(得分:10)

经典学习 - 主题 - Magento问题!

一个块与另一个块的关系在模板中最为明显(正如您当前的努力所示)。父(脚注,在您的情况下)触发另一个块的渲染的能力要求建立父子关系。这通常发生在布局更新XML中。

如果此关系是核心关系,您可能会在基本/默认主题的 layout / page.xml 文件中看到以下内容:

<block type="page/html_footer" name="footer" ...>
    <!-- other child block directives -->
    <block type="page/template_links" name="top.links" as="topLinks"/>
</block>

在您的情况下,因为您要在两个现有块之间添加关系,所以可以在名为 local.xml 的特殊最终用户布局xml文件中设置块实例之间的关系。放置在自定义主题的布局文件夹中。这是它应该是什么样子:

<?xml version="1.0"?>
<layout>
    <default><!-- effectively: "do this on all pages" --> 
        <reference name="footer"><!-- parent block -->
            <action method="insert"><!-- this PHP class method sets the relationship -->
                <block_name_to_insert>top.links</block_name_to_insert><!--use the block name in the layout, not the alias. See Mage_Core_Block_Abstract::insert() -->
                <sort_relative_to_other_childname/><!-- empty val is fine here -->
                <sort_before_or_after/><!-- not relevant -->
                <alias>topLinks</alias><!-- because you are using the original alias, need to re-specify that here -->
            </action>
        </reference>
    </default>
</layout>