如何通过Magento的page.xml调用页脚中的顶部链接

时间:2014-03-31 23:35:02

标签: php xml magento

我是Magento的新手,我在这方面有一位在配置/设计CMS方面经验丰富的网页设计师。因此,所有布局xml的东西对我来说都很陌生。我只想将“我的帐户”,“登录/注销”和“我的购物车”链接添加到页脚。

This Magento论坛帖描述了要使用的代码以及要从中复制和粘贴的文件,但对于我的生活,我无法弄清楚page.xml中应该放置各种addLink xml代码的确切位置让它显示在我的页脚中。

以下是来自customer.xml的“我的帐户”和“登录/注销”链接的XML:

<!--
Default layout, loads most of the pages
-->

    <default>
        <!-- Mage_Customer -->
        <reference name="top.links">
            <action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
        </reference>
    </default>

<!--
Load this update on every page when customer is logged in
-->

    <customer_logged_in>
        <reference name="top.links">
            <action method="addLink" translate="label title" module="customer"><label>Log Out</label><url helper="customer/getLogoutUrl"/><title>Log Out</title><prepare/><urlParams/><position>100</position></action>
        </reference>
    </customer_logged_in>

<!--
Load this update on every page when customer is logged out
-->

    <customer_logged_out>
        <!---<reference name="right">
            <block type="customer/form_login" name="customer_form_mini_login" before="-" template="customer/form/mini.login.phtml"/>
        </reference>-->
        <reference name="top.links">
            <action method="addLink" translate="label title" module="customer"><label>Log In</label><url helper="customer/getLoginUrl"/><title>Log In</title><prepare/><urlParams/><position>100</position></action>
        </reference>
        <remove name="reorder"></remove>
    </customer_logged_out>

以下是page.xml中的XML,论坛帖子说它应该去,以及我不确定它应该进入哪一行:

<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_language" as="store_language" template="page/switch/languages.phtml"/>
                <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>

以下是来自footer.phtml的标记,其中链接应该结束:

<div class="four columns">
    <?php echo $this->getChildHtml() ?>
</div>

我也很难理解getChildHtml如何获取页脚链接,知道从哪里获取这些链接。

任何帮助都会受到大力赞赏!我很兴奋,因为我对Magento的力量感到兴奋,我想我可以花几个小时完成一项看似简单的事情,就像添加链接到页脚一样。

2 个答案:

答案 0 :(得分:0)

Brandon,在页脚中尝试以下代码

<?php echo $this->getChildHtml("footer_links") ?>

答案 1 :(得分:0)

尝试以下步骤。

默认情况下,magento使用“默认”主题,我假设您正在使用此主题。我建议不要更改page.xml或magento的任何xml文件。
1.在local.xml中创建app/design/frontend/default/default/layout

2.将以下代码添加到local.xml文件

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
        <reference name="footer_links">
            // This code it to remove the site map, search terms, advanced search, order and returns. Remove the below 4 lines if you want these in the footer.
            <action method="removeLinkByUrl"><url helper="catalog/map/getCategoryUrl" /></action> 
            <action method="removeLinkByUrl"><url helper="catalogsearch/getSearchTermUrl" /></action>
            <action method="removeLinkByUrl"><url helper="catalogsearch/getAdvancedSearchUrl" /></action> 
            <remove name="return_link" />
            // to add my account link to footer links
            <action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
            // to add cart link
            <block type="checkout/links" name="checkout_cart_link">
                <action method="addCartLink"></action>
            </block>
        </reference>
    </default>
     <customer_logged_in>
        <reference name="footer_links">
            <action method="addLink" translate="label title" module="customer"><label>Log Out</label><url helper="customer/getLogoutUrl"/><title>Log Out</title><prepare/><urlParams/><position>20</position></action>
        </reference>
    </customer_logged_in>
    <customer_logged_out>
        <reference name="footer_links">
            <action method="addLink" translate="label title" module="customer"><label>Log In</label><url helper="customer/getLoginUrl"/><title>Log In</title><prepare/><urlParams/><position>20</position></action>
        </reference>
        <remove name="reorder"></remove>
    </customer_logged_out>
 </layout>

3.要删除与我们联系,请转到管理员面板System > Configuration > General > Contacts并将“启用与我们联系”设置为否。

4.要删除关于我们的客户服务和隐私政策,请转到管理员面板CMS > Static Blocks,禁用标题为页脚链接的块。

现在你应该在页脚中获取链接。 如果仍然没有收到链接,请按照{strong> Amit Bera

的建议在<?php echo $this->getChildHtml("footer_links") ?>文件中调用此footer.phtml

注意:如果您使用的是自定义主题,请在local.xml

中创建app/design/frontend/your_package/your_theme/layout文件