0

如何更改magento中页脚部分的位置?

我想把页脚放在页面的主 div 中。

我怎么能在magento中做到这一点?

4

1 回答 1

1

我不确定您为什么要这样做,也许重新组织您的页面结构会是一个更好的选择 - 页脚是页脚,而不是主要内容的一部分。

尽管如此,这可以使用布局 xml 轻松实现。

编辑

您可以采用两种方法:

1. 为您的基本布局覆盖使用本地 xml 文件。-app/design/frontend/your_package/your_theme/layout/local.xml

这确实应该是您的首选方法,除非您的特定用例有很好的反对理由。

<?xml version="1.0"?>
<layout>
    <default>
        <reference name="root">
            <action method="unsetChild">
                <alias>footer</alias>
            </action>
        </reference>
        <reference name="content">
            <action method="insert">
                <alias>footer</alias>
            </action>
        </reference>
    </default>
</layout>

或者...

2.复制基础布局文件

复制app/design/frontend/base/default/layout/page.xmlapp/design/frontend/your_package/yout_theme/layout/page.xml

找到声明如下的页脚节点(在未触及的 page.xml CE 1.7中):

<block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml">
    <block type="page/html_wrapper" name="bottom.container" as="bottomContainer" translate="label">
        <label>Page Footer</label>
        <action method="setElementClass"><value>bottom-container</value></action>
    </block>
    <block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>
    <block type="page/template_links" name="footer_links" as="footer_links" template="page/template/links.phtml"/>
</block>

它将是根节点的直接后代。移动整个节点,使其成为主内容节点的子节点:

<block type="core/text_list" name="content" as="content" translate="label">
    <label>Main Content Area</label>

    <block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml" after=">
        <block type="page/html_wrapper" name="bottom.container" as="bottomContainer" translate="label">
            <label>Page Footer</label>
            <action method="setElementClass"><value>bottom-container</value></action>
        </block>
        <block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>
        <block type="page/template_links" name="footer_links" as="footer_links" template="page/template/links.phtml"/>
    </block>
</block>

如果启用,请记住刷新缓存:)

编辑

使用第二种方法回答有关块定位的评论中的问题。您可以使用 before 和 after 属性。

IE

<block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml" after="your_sibling_block_name">

此外,根据其他布局 xml,您可能还必须编辑兄弟块并向其添加 before 属性,即before="footer"

于 2012-07-19T07:32:06.257 回答