To follow up on our post about editing Magento’s top links, I thought I might as well write an article about editing the footer links while I’m at it. I’d recommend reading our post about using a local.xml file before getting started on this post. This post might not make much sense until you read it. [NOTE: This specific example assumes you are using the blank theme. Layout handles may differ from theme to theme.]
In local.xml:
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
<reference name="footer_links">
<!-- Add custom links. Pretty self-explanatory.
Dig into app/code/core/Mage/Page/Block/Template/Links.php for more info -->
<action method="addLink" translate="label title">
<label>About Us</label>
<url>about</url> <!-- can use a full url if not using urlParams below -->
<title>About Us</title>
<prepare>true</prepare> <!-- set true if adding base url param -->
<urlParams helper="core/url/getHomeUrl"/> <!-- base url - thanks @Russ! -->
<!-- there are a few param you can send to do different things in <urlParams>
dig into app/code/core/Mage/Core/Model/Url.php, around line 803 -->
<!-- below adds #add-fragment to the end of your url -->
<!-- <urlParams><_fragment>add-fragment</_fragment></urlParams> -->
<!-- below adds ?add-query to the end of your url -->
<!-- <urlParams><_query>add-fragment</_query></urlParams> -->
<!-- below gives you a new session id (i think...)-->
<!-- <urlParams><_nosid>true</_nosid></urlParams> -->
<!-- below replaces double quotes, single quotes, greater than, and less than signs
to their respective url escaped replacements (%22, %27, %3E, %3C) -->
<!-- <urlParams><_escape>i'm-a-blog-url</_escape></urlParams> -->
<position>1</position>
<liParams/>
<aParams>class="top-link-about-us"</aParams>
<beforeText></beforeText>
<afterText></afterText>
</action>
<!-- Remove 'Site Map' Link - Default Position: 10
Original link adding in catalog.xml -->
<action method="removeLinkByUrl"><url helper="catalog/map/getCategoryUrl" /></action>
<!-- Remove 'Search Terms' Link - Default Position: 20
Original link adding in catalogsearch.xml-->
<action method="removeLinkByUrl"><url helper="catalogsearch/getSearchTermUrl" /></action>
<!-- Remove 'Advanced Search' - Default Position: 30
Original link adding in catalogsearch.xml-->
<action method="removeLinkByUrl"><url helper="catalogsearch/getAdvancedSearchUrl" /></action>
<!-- Remove 'Contact Us' link - Original link in contacts.xml
<!-- Best bet to go to Magento's Admin > System > Configuration > (left sidebar) Contacts
> Contact Us Enabled = NO -->
<!-- You can pass the full url, which is a hassle if you have dev and stage sites -->
<action method="removeLinkByUrl"><url>http://YOUR_SITE.com/contacts/</url></action>
<!-- see comments below for making a custom helper to remove contacts link
no matter what your base url is -->
</reference>
<!-- By default, Magento sets a static footer block. Find it in the admin under
CMS > Static Blocks.
<reference name="footer">
<!-- Remove Magento's default static block and use the 'addLink' method above
to add your custom and inline links. I use the 'unsetChild' method as often as
possible as opposed using the more final <remove name="cms_footer_links"/>
just in case I want to add the block somewhere else -->
<action method="unsetChild"><name>cms_footer_links</name></action>
<!-- Remove all the other Magento links - "Site Map, Search Terms, Advanced Search, and
Contact Us" -->
<action method="unsetChild"><name>footer_links</name></action> <!-- Magento 1.4.x -->
</reference>
</default>
</layout>
If all else fails, you can edit template/page/template/links.phtml. However, if you can make all your changes in local.xml, your life will be so much easier when it comes to upgrading Magento and making future edits.