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="form-language">
<label for="select-language"><?php echo $this->__('Change Country'); ?></label>
<ul class="flag">
<?php if(strtolower($this->getCurrentCurrencyCode()) == 'aud'): ?>
<li class="active"><img src="<?php echo $this->getSkinUrl('images/flag-aud.png'); ?>" alt="Australia" width="17" height="11" /></li>
<?php else: ?>
<li><img src="<?php $imagef = 'images/flag-'.strtolower($this->getCurrentCurrencyCode()).'.jpg'; echo $this->getSkinUrl($imagef); ?>" alt="Australia" width="17" height="11" /></li>
<?php endif; ?>
</ul>
<select id="select-language" name="currency" title="Your Language" 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="directory/currency" name="currency_top" template="directory/currency-top.phtml"/>
Add getChildHtml(‘currency_top’) below getChildHtml(‘store_language’) in template/page/html/header.phtml like below :-
<?php echo $this->getChildHtml('currency_top') ?>
А так же добавить доп Currency в настройках и Manage Currency Rates