Introduction:
Here I will explain create custom header top links in magento.
Description:
If you are wondering what are top links, it’s the links that you see in the header section i.e My Cart, My Account, My Wishtlist, etc.
Top-links are managed in magento through layout xml files. To add a link to top links, we need to add xml code to layout files.
My Account: link is found in the customer.xml file.
So, here we are taking the reference of “top.links” block, and calling the “addLink” function on that block.
The “top.links” block is defined in page.xml
My Cart and Checkout: The xml for these is found at checkout.xml
Suppose we
need to add a new link to top links, lets say a link for a CMS page
called Terms and Conditions. To do this open a layout file, let say
customer.xml and add the below code:
If you have any queries feel free to leave a comment.
Here I will explain create custom header top links in magento.
Description:
If you are wondering what are top links, it’s the links that you see in the header section i.e My Cart, My Account, My Wishtlist, etc.
Top-links are managed in magento through layout xml files. To add a link to top links, we need to add xml code to layout files.
Existing Top Links
Lets first look at where the existing top links are coming from.My Account: link is found in the customer.xml file.
<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> To know the meanings of these please read our blog on layouts.So, here we are taking the reference of “top.links” block, and calling the “addLink” function on that block.
The “top.links” block is defined in page.xml
<block type="page/template_links" name="top.links" as="topLinks"/> The “addLink” function is defined in Mage_Page_Block_Template_Links. The definition of the function is public function addLink($label, $url='', $title='', $prepare=false, $urlParams=array(), $position=null, $liParams=null, $aParams=null, $beforeText='', $afterText='')
Also the phtml file where the html code for this is written is ‘page/template/links.phtml’.
My Wishlist: The xml for this is found at wishlist.xml
My Wishlist: The xml for this is found at wishlist.xml
<reference name="top.links"> <block type="wishlist/links" name="wishlist_link"> <action method="addWishlistLink"></action> </block> </reference> <default> <!-- Mage_Checkout --> <reference name="top.links"> <block type="checkout/links" name="checkout_cart_link"> <action method="addCartLink"></action> <action method="addCheckoutLink"></action> </block> </reference> <reference name="right"> <block type="checkout/cart_sidebar" name="cart_sidebar" template="checkout/cart/sidebar.phtml" before="-"> <action method="addItemRender"><type>simple</type><block>checkout/cart_item_renderer</block><template>checkout/cart/sidebar/default.phtml</template></action> <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/cart/sidebar/default.phtml</template></action> <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/cart/sidebar/default.phtml</template></action> </block> </reference> <reference name="head"> <block type="core/template" name="optional_zip_countries" as="optional_zip_countries" template="directory/js/optional_zip_countries.phtml" /> </reference> </default> Login and Log Out: links are found in the customer.xml <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>
Adding More Links To The Top Links
<default><reference name="top.links"> <action method="addLink" translate="label title"> <label>Terms and Condition</label> <url>terms</url> <title>Terms and Condition</title> <prepare>true</prepare> <position>2</position> </action></reference></default> This code should a new link to top links. If you have any queries feel free to leave a comment.
