Here, I will show you how you can change the location of currency selector to header in Magento.
By default, the currency selector is displayed in the left sidebar. Here, I will show you how you can show it in header just below the language selector.
Create a new phtml file (template/directory/currency-top.phtml) and write the following code in it :-
<?php if ( $this ->getCurrencyCount()>1): ?> <div class = "box language-switcher" style= "margin-left:15px" > <label for = "select-language" >Your Currency: </label> <select name= "currency" onchange= "changeCurrency(this)" > <?php foreach ( $this ->getCurrencies() as $_code => $_name ): ?> <option value= "<?php echo $_code ?>" <?php if ( $_code == $this ->getCurrentCurrencyCode()): ?> selected= "selected" <?php endif ; ?>> <?php echo $_name ?> - <?php echo $_code ?> </option> <?php endforeach ; ?> </select> </div> <script type= "text/javascript" > //<![CDATA[ function changeCurrency(sObject){ if (sObject.value){ setLocation( '<?php echo $this->helper(' directory/url ')->getSwitchCurrencyUrl() ?>currency/' +sObject.value); } } //]]> </script> <?php endif ; ?> |
Add currency_top block after store_language block inside header block of page.xml present around line #66 :-
< block type = "page/html_header" name = "header" as = "header" > < block type = "page/template_links" name = "top.links" as = "topLinks" /> < block type = "page/switch" name = "store_language" as = "store_language" template = "page/switch/languages.phtml" /> < block type = "directory/currency" name = "currency_top" template = "directory/currency-top.phtml" /> < block type = "core/text_list" name = "top.menu" as = "topMenu" /> </ block > |
Add getChildHtml('currency_top') below getChildHtml('store_language') intemplate/page/html/header.phtml like below :-
<?php echo $this ->getChildHtml( 'store_language' ) ?> <?php echo $this ->getChildHtml( 'currency_top' ) ?> |
That's all. Now, you will be able to see currency selector in the header of your site
No comments:
Post a Comment