Personalizando el Currency switcher en Magento

En su último post, Pablo Montero habla sobre cómo personalizar el Store switcher en Magento (http://www.elblogdemagento.com/customizando-el-store-switcher/).

De más está aclarar lo útil que va a resultar ese tip para muchos (en particular para los que comienzan a jugar con las múltiples store views).

Al final de su post, Pablo hace referencia a poder personalizar el seleccionador de moneda (el currency switcher).

Por defecto, al habilitar el uso de múltiples monedas, podemos ver cómo Magento agrega un dropdown con las monedas posibles a utilizar.

Currency switcher por defecto de Magento

Ahora vamos a personalizarlo un poco. En realidad, voy a mostrar como manipular ese bloque y cambiar la apariencia.

Tenemos que abrir el archivo /app/design/frontend/default/blank/template/directory/currency.phtml

De la línea 40 a la 46, van a encontrar la definición del dropdown.

<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>

Vamos a tocar un poquito y lo cambiamos.

<ul>
    <?php foreach ($this->getCurrencies() as $_code => $_name): ?>
        <li>
	    <input type="hidden" id ="currency<?php echo $_code ?>" name="currency<?php echo $_code ?>" value="<?php echo $_code ?>">
            <?php if($_code!=$this->getCurrentCurrencyCode()): ?>
                <a onclick="changeCurrency($('currency<?php echo $_code ?>'));return false;" href="#"><?php echo $_name; ?> - <?php echo $_code ?></a>
            <?php else: ?>
                <?php echo $_name ?> - <?php echo $_code; ?>
            <?php endif; ?>
        </li>
    <?php endforeach; ?>
</ul>

Grabamos y actualizamos.

Currency switcher modificado en Magento

Lo que hago es listar las monedas posibles y hacer clickeable los valores. Si ampliamos un poquito esta vista, llegamos a esto.

Detalle completo de la modificación al Currency switcher en Magento

Como ven, el link funciona correctamente y modifica los valores de los precios.

P.D.: Ahora ya estoy embalado, más tarde esto se convierte en extensión configurable desde el backend. 😉