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