Este sitio usa cookies, propias y de terceros.
Si se continúa con nosotros entendemos que se acepta el uso de cookies.

Multi Currency Problemas con determinadas monedas

Tema en 'Soporte General' iniciado por José Manuel Pérez, 16 May 2017.

  1. José Manuel Pérez

    José Manuel Pérez Nuevo usuario

    2
    0
    1
    Buenas!!
    Despues de trabajar varios años con Magento he tenido la necesidad de hacer una tienda con multiples monedas.
    Todo funciona bien con las divisas típicas Euro, dolar, libra...
    Pero en cuanto empezamos con Pesos argentinos, pesos chilenos, libras sirias, etc ya no funciona.
    Magento es capaz de meterlas en las tablas de las divisas y obtener el valor de su conversión y su simbolo desde webservicex, pero despues no puedes utilizarlas en el frontend. No aparecen en el selector de moneda, y he encontrado que el modelo las saca de las monedas permitidas.

    El modelo que maneja las monedas es:
    Mage_Directory_Block_Currency

    Este modelo se usa en el switcher para generar el html llamando primero a la funcion getCurrencyCount().
    Esta funcion devuelve el valor de $this->getData('currencies')

    Es decir en los datos de la instancia del modelo, el valor de currencies no tiene todas las monedas, tan solo las típicas.

    En cambio el valor que me da en el mismo bloque para las monedas permitidas en la configuración me devuelve todas las monedas configuradas.

    Por ejemplo en app/design/frontend/rwd/calcco/template/directory/currency.phtml


    echo $this->getCurrencyCount();
    SALIDA: 2

    var_dump($this->getData('currencies'));
    SALIDA:
    array(2) {
    ["USD"]=>
    string(21) "dólar estadounidense"
    ["EUR"]=>
    string(4) "euro"
    }


    $currencyCodes = Mage::getModel('core/config_data')
    ->getCollection()
    ->addFieldToFilter('path','currency/options/allow')
    ->addFieldToFilter('scope_id',"0")
    ->getData();


    var_dump($currencyCodes);
    SALIDA:
    array(1) {
    [0]=>
    array(5) {
    ["config_id"]=>
    string(2) "16"
    ["scope"]=>
    string(7) "default"
    ["scope_id"]=>
    string(1) "0"
    ["path"]=>
    string(22) "currency/options/allow"
    ["value"]=>
    string(19) "SEK,USD,EUR,HUF,SYP"
    }
    }


    No tengo diferentes valores para los diferentes scopes, así que está obteniendo el valor de la config general y en algun punto las está filtrando de alguna manera eliminando algunas.

    Por otro lado, revisando cómo funciona el switcher he conseguido estas urls:
    dominio.es/directory/currency/switch/currency/USD
    dominio.es/clientes/capitol/directory/currency/switch/currency/EUR
    dominio.es/clientes/capitol/directory/currency/switch/currency/HUF

    Sustituyendo el dominio se puede cambiar de divisa.
    Las dos primeras funcionan, la tercera no.

    Alguien me puede orientar un poco en esto?
    Es una instalacion fresca de Magento...
    Muchas gracias.
     
  2.  
    Comunidad Magento orgullosamente patrocinada por www.FactoriaDigital.com, expertos en hosting y vps magento.
  3. José Manuel Pérez

    José Manuel Pérez Nuevo usuario

    2
    0
    1
    Aunque suene absurdo y tonto he encontrado yo mismo la respuesta...
    El problema estaba en que yo estaba importando manualmente las tasas de conversión de la divisa, pero no estaba guardandolas!!! En mi mente importar hacía automáticamente el guardado de la divisa...
    Es curioso que sin guardar si que funcionen divisas como el Euro, libra, dolar, etc... Tal vez tenga guardada una tasa de conversión por defecto o algo así...
     
Cargando...

Compartir esta página

Conectados

  1. raulcasado
Total: 12 (miembros: 1, invitados: 10, robots: 1)

Estadísticas del foro

Temas:
6.538
Mensajes:
28.278
Miembros:
4.005
Último miembro:
Angel Molina Batlle
Cargando...