If you have only simple products this should be easy.
Just add the following code in app/design/frontend/{package}/{theme}/catalog/product/view/type/default.phtml
right under $this->getPriceHtml($_product)
.
<?php
//remember the current currency
$currentCurrency = Mage::app()->getStore()->getCurrentCurrencyCode();
//remember the current currency object
$currentCurrencyObject = Mage::app()->getStore()->getCurrentCurrency();
//get allowed currencies
$allowedCurrencies = Mage::getModel('directory/currency')->getConfigAllowCurrencies();
foreach ($allowedCurrencies as $currency) {
//skip the current currency
if ($currency != $currentCurrency) {
//load the currency object
$currObject = Mage::getModel('directory/currency')->load($currency);
//change the store currency
Mage::app()->getStore()->setCurrentCurrencyCode($currency);
Mage::app()->getStore()->setCurrentCurrency($currObject);
//show the price in the new currency
echo $this->getPriceHtml($_product, false, '-'.$currency);
}
}
//reset the store currency
Mage::app()->getStore()->setCurrentCurrencyCode($currentCurrency);
Mage::app()->getStore()->setCurrentCurrency($currentCurrencyObject);
?>
You may also need to add the same in app/design/frontend/{package}/{theme}/template/catalog/product/view/price_clone.phtml
but change echo $this->getPriceHtml($_product, true, '-'.$currency);
to echo $this->getPriceHtml($_product, true, '-clone-'.$currency);
If you have custom options involved or configurable or bundle products this may not work. Most probably you will need some custom javascript to make the prices change when you change the options.
[EDIT]
The answer above is for the product view page. But it should work for product list page also. Just add the same code after the price is shown. You can also optimize this so you won't have to load the currencies each time you show a product in the list.
product_view
page and notprdouct_list
page