Форум русской поддержки Joomla!® CMS
03.12.2016, 13:44:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Модуль "VirtueMart Currency Selector". Как устанавливать курс.

 (Прочитано 32648 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MOHCTPUK
Осваиваюсь на форуме
***

Репутация: +5/-6
Offline Offline

Пол: Мужской
Сообщений: 52


d[-_-]b


« : 28.07.2009, 05:29:15 »

Модуль "VirtueMart Currency Selector" У меня щас тут три валюты:
Цитировать
Russian Ruble
EURO
US Dollar
Как мне напр. Цена моего продукта "100$" 100$ у меня в стране это "70 EURO" теперь при смене в модуле валюты как мне задать курсовую систему. т.е. напр чему равняется 1EURO к 1$.
Щас у меня как то меняется  US Dollar на Руб и на EURO, вот только токой курс мне не нужен.
« Последнее редактирование: 28.07.2009, 11:25:46 от beagler » Записан
 
beagler
Moderator
*****

Репутация: +389/-4
Offline Offline

Пол: Мужской
Сообщений: 3307


beagler dot ru


« Ответ #1 : 28.07.2009, 11:06:57 »

VirtueMart берёт курс вот здесь - Европейский центральный банк
сама функция конвертирования лежит в \administrator\components\com_virtuemart\classes\currency\convertECB.php
Каким образом люди задают свой курс?
Подсовывают вместо центробанковского  свой XML файл с вручную забитым курсом.
Записан
MOHCTPUK
Осваиваюсь на форуме
***

Репутация: +5/-6
Offline Offline

Пол: Мужской
Сообщений: 52


d[-_-]b


« Ответ #2 : 28.07.2009, 17:36:37 »

Большое спасибо. А так понимаю надо править ссылку:
строку 29
Цитировать
var $document_address = 'http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml';
Через исходный код содержание токое:
Цитировать
<?xml version="1.0" encoding="UTF-8"?>
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
   <gesmes:subject>Reference rates</gesmes:subject>
   <gesmes:Sender>
      <gesmes:name>European Central Bank</gesmes:name>
   </gesmes:Sender>
   <Cube>
      <Cube time='2009-07-28'>
         <Cube currency='USD' rate='1.4229'/>
         <Cube currency='JPY' rate='134.53'/>
         <Cube currency='BGN' rate='1.9558'/>
         <Cube currency='CZK' rate='25.501'/>
         <Cube currency='DKK' rate='7.4453'/>
         <Cube currency='EEK' rate='15.6466'/>
         <Cube currency='GBP' rate='0.86220'/>
         <Cube currency='HUF' rate='267.55'/>
         <Cube currency='LTL' rate='3.4528'/>
         <Cube currency='LVL' rate='0.7012'/>
         <Cube currency='PLN' rate='4.1765'/>
         <Cube currency='RON' rate='4.2050'/>
         <Cube currency='SEK' rate='10.5850'/>
         <Cube currency='CHF' rate='1.5224'/>
         <Cube currency='NOK' rate='8.7660'/>
         <Cube currency='HRK' rate='7.3330'/>
         <Cube currency='RUB' rate='43.8914'/>
         <Cube currency='TRY' rate='2.0992'/>
         <Cube currency='AUD' rate='1.7138'/>
         <Cube currency='BRL' rate='2.6697'/>
         <Cube currency='CAD' rate='1.5378'/>
         <Cube currency='CNY' rate='9.7197'/>
         <Cube currency='HKD' rate='11.0287'/>
         <Cube currency='IDR' rate='14121.19'/>
         <Cube currency='INR' rate='68.6050'/>
         <Cube currency='KRW' rate='1762.97'/>
         <Cube currency='MXN' rate='18.8641'/>
         <Cube currency='MYR' rate='4.9937'/>
         <Cube currency='NZD' rate='2.1531'/>
         <Cube currency='PHP' rate='68.334'/>
         <Cube currency='SGD' rate='2.0497'/>
         <Cube currency='THB' rate='48.300'/>
         <Cube currency='ZAR' rate='11.1131'/>
      </Cube>
   </Cube>
</gesmes:Envelope>
Эти все валюты отношение к Euro я так понимаю, а как сделать отношение к $$$ к RUB  Huh

надо создать ещё XML  и задать ему
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/rubfxref">  Roll Eyes
« Последнее редактирование: 28.07.2009, 17:44:47 от MOHCTPUK » Записан
Wester
Осваиваюсь на форуме
***

Репутация: +4/-1
Offline Offline

Пол: Мужской
Сообщений: 180


« Ответ #3 : 08.08.2009, 01:43:42 »

Изменил валюту на еврики пробежался по оформлению заказа, итог - в информации о заказе остались еврики (в админке)... хотя, по умолчанию в магазине стоят рубли... Вопрос - как поменять на рубли в админке, чтоб не переводить на калькуляторе  Wink + узнавать курс?
Записан
Sorbon
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 70



« Ответ #4 : 07.11.2009, 14:58:51 »

Большое спасибо. А так понимаю надо править ссылку:
строку 29 Через исходный код содержание токое:Эти все валюты отношение к Euro я так понимаю, а как сделать отношение к $$$ к RUB  !

надо создать ещё XML  и задать ему
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/rubfxref">  Roll Eyes

А куда это все ввести? Мне, например нужна сделать в гривнах. Ведь XML файла-то нет в папке. там только php файл.
Что-то я не понял из вашего разговора. Объясните пожалуйста!
Записан
Sorbon
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 70



« Ответ #5 : 17.11.2009, 01:24:01 »

все разобрался ..спасибо за ваш быстрый ответ, которого и не было... во всяком случай навели на правильный пусть
Записан
Skamer13
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #6 : 05.12.2009, 22:47:26 »

а как вообще отключить конвертирование ?
сейчас в цене товара ввожу рубли а он на сайте мне показывает доллары!
как сделать чтобы были только рубли на сайте?
Записан
beagler
Moderator
*****

Репутация: +389/-4
Offline Offline

Пол: Мужской
Сообщений: 3307


beagler dot ru


« Ответ #7 : 05.12.2009, 22:49:02 »

в настройках магазина смените валюту.
Записан
Skamer13
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #8 : 05.12.2009, 22:58:51 »

а где это?
в списке валют только рубли..где еще менять?
Записан
Skamer13
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #9 : 05.12.2009, 23:00:09 »

всё спасибо нашел
Записан
SpecTR
Осваиваюсь на форуме
***

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 109



« Ответ #10 : 19.12.2009, 01:01:59 »

Доп. инф. (VirtueMart 1.1.4)

Для того чтобы заработал ваш файл сразу удалите daily.xml который находится в ../cache/

Записан
chip_n
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 82


Я еще только учусь ...


« Ответ #11 : 01.03.2010, 14:27:11 »

Народ у кого появился такой вопрос, самое простое решение вот:

1. Cоздаем PHP файл и именуем как "convertHARD"
2. Вставляем в него этот код:

<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );

/**
* Currency Converter Module with HARD linked currencies
* Author Dmitry Tsesluk (tsesl, dma) dma@biz.by
* http://joomlaforum.ru/
*/

class convertHARD {
   /**
    * @param float $amountA
    * @param string $currA defaults to $vendor_currency
    * @param string $currB defaults to $GLOBALS['product_currency'] (and that defaults to $vendor_currency)
    * @return mixed The converted amount when successful, false on failure
    */
   function convert( $amountA, $currA='', $currB='' ) {
      global $mosConfig_cachepath, $mosConfig_live_site, $mosConfig_absolute_path,
            $mosConfig_offset, $vendor_currency, $vmLogger;
   
      // global $vendor_currency is DEFAULT!
      if( !$currA ) {
         $currA = $vendor_currency;
      }
      if( !$currB ) {
         $currB = $GLOBALS['product_currency'];
      }
      // If both currency codes match, do nothing
      if( $currA == $currB ) {      
         return $amountA;
      }
      if( $GLOBALS['converter_array'] == '') {
         $currency = array();

      /* currency difinition */
         $currency['EUR'] = $eur_curr = 11;
         $currency['USD'] = 8;
         $currency['RUB'] = 0.215;
         $currency['UAH'] = 1;
      /* end currency difinition */

         $eur_curr = $eur_curr ? $eur_curr : 1;
         foreach($currency as $k=>$v) $currency[$k] = $eur_curr/$v;

         $currency['national'] = 'UAN'; /* Валюта , относительно которой указаны курсы */

         $currency[$currency['national']] = $eur_curr;
         $GLOBALS['converter_array'] = $currency;
      }
      
      $valA = isset( $GLOBALS['converter_array'][$currA] )? $GLOBALS['converter_array'][$currA] : 1;
      $valB = isset( $GLOBALS['converter_array'][$currB] )? $GLOBALS['converter_array'][$currB] : 1;
      
      $val = $amountA * $valB / $valA;
      return $val;
   }
}
?>

3. Меняем в этом отрезке кода под себя валюту:
      /* currency difinition */
         $currency['EUR'] = $eur_curr = 11;
         $currency['USD'] = 8;
         $currency['RUB'] = 0.215;
         $currency['UAH'] = 1;
      /* end currency difinition */

4. Сохраняем и перемещаем наш файл в папку - administrator\components\com_virtuemart\classes\currency

5. Заходим в панель администратора\VirtueMart\Настройки\Общие настройки - находим строку "Выберите модуль конвертора валют" и выбираем - convertHARD.php

6. Сохраняем и наслаждаемся! Smiley

П.С. После каждого изменения настроек в магазине, незабывайте повторно выбрать "convertHARD.php" и только потом сохранять изменения.
Или можно прсто переименовать или удалить "convertECB.php" находящийся в той же папке.

У меня работает на ура! - www.ukrsports.com.ua
Записан
cadet
Давно я тут
****

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 239


« Ответ #12 : 04.03.2010, 18:46:31 »

А если курс меняется каждый день? Как быть?

И еще, твой сайт не открывается в IE 8 и Google Chrome
« Последнее редактирование: 04.03.2010, 19:25:38 от cadet » Записан
alekseysch
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 44


« Ответ #13 : 17.03.2010, 12:54:23 »

chip_n  Спасибо, все работает! Так как курс несущественно меняется, подошло просто отлично!
Кстати на Вашем сайте сразу не нашел, где поменять курс - лучше сделать это интуитивно понятным. Правда если продажи только на Украине, то это ни к чему.
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #14 : 19.03.2010, 18:22:38 »

проблема так и не решена
если создать файл для сбербанка, то он работает не корректно и иногда глючит (сильно не пинайте, откуда я взял код не помню)
<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
/**
* ECB Currency Converter Module
*
* @version $Id: convertECB.php 1095 2007-12-19 20:19:16Z soeren_nb $
* @package VirtueMart
* @subpackage classes
* @copyright Copyright (C) 2004-2007 soeren - All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* VirtueMart is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
*
* http://virtuemart.net
*/

/**
 * This class uses the currency rates provided by an XML file from the European Central Bank
 * Requires cURL or allow_url_fopen
 */
class convertECB {
   
   var $archive = true;
   var $last_updated = '';
   
   var $document_address = 'http://www.cbr.ru/scripts/XML_daily.asp?';
   
   var $info_address = 'http://www.cbr.ru/scripts/';
   var $supplier = 'Russian Central Bank';
   
   /**
    * Converts an amount from one currency into another using
    * the rate conversion table from the European Central Bank
    *
    * @param float $amountA
    * @param string $currA defaults to $vendor_currency
    * @param string $currB defaults to $GLOBALS['product_currency'] (and that defaults to $vendor_currency)
    * @return mixed The converted amount when successful, false on failure
    */
   function convert( $amountA, $currA='', $currB='' ) {
      global $mosConfig_cachepath, $mosConfig_live_site, $mosConfig_absolute_path,
            $mosConfig_offset, $vendor_currency, $vmLogger;
   
      //Определяем сегодняшнюю дату в формате, который используется на сайте cbr.ru
$date = date("d/m/Y");

//Определим код нашей валюты на сайте cbr.ru
// $
$code='R01235';

//Выполняем первый пункт, считываем страницу с курсами валют в переменную
$file = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$date);

//Разбираем страницу с помощью регулярок:
preg_match("#<Valute ID=\"" . $code . "\".*?>(.*?)</Valute>#is", $file, $m);

preg_match("#<Value>(.*?)</Value>#is", $m[1], $r);

//Запятую, отделяющую дробную часть заменяем на точку, и у нас в переменной $euro находится курс евро.
$euro = str_replace(",", ".", $r[1]);

      //$valA = isset( $GLOBALS['converter_array'][$currA] )? $GLOBALS['converter_array'][$currA] : 1;
      //$valB = isset( $GLOBALS['converter_array'][$currB] )? $GLOBALS['converter_array'][$currB] : 1;
      
      $val = $amountA * $euro;
      //$vmLogger->debug('Converted '.$amountA.' '.$currA.' to '.$val.' '.$currB);
      
      return $val;
   } // end function convertecb
}
?>
« Последнее редактирование: 19.03.2010, 18:28:56 от злобный ламер » Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #15 : 01.06.2010, 13:09:57 »

Народ у кого появился такой вопрос, самое простое решение вот:



3. Меняем в этом отрезке кода под себя валюту:
      /* currency difinition */
         $currency['EUR'] = $eur_curr = 11;
         $currency['USD'] = 8;
         $currency['RUB'] = 0.215;
         $currency['UAH'] = 1;
      /* end currency difinition */




есть вопрос, эти цифры откуда берутся? это как я понял разница курса, но от какой валюты?
у меня нац валюта рубль, мне где эту разницу смотреть?
вроде как врубился
получилось!

      /* currency difinition */
         $currency['EUR'] = $eur_curr = 38.033; /* курс менять каждый день смотреть в яндексе*/
         $currency['USD'] = 30.74;/* курс менять каждый день смотреть в яндексе*/
         $currency['RUB'] = 1;
      /* end currency difinition */

         $eur_curr = $eur_curr ? $eur_curr : 1;
         foreach($currency as $k=>$v) $currency[$k] = $eur_curr/$v;

         $currency['national'] = 'RUB'; /* Валюта , относительно которой указаны курсы */
« Последнее редактирование: 01.06.2010, 13:43:18 от злобный ламер » Записан
chip_n
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 82


Я еще только учусь ...


« Ответ #16 : 01.06.2010, 22:16:55 »

есть вопрос, эти цифры откуда берутся? это как я понял разница курса, но от какой валюты?
у меня нац валюта рубль, мне где эту разницу смотреть?
вроде как врубился
получилось!

      /* currency difinition */
         $currency['EUR'] = $eur_curr = 38.033; /* курс менять каждый день смотреть в яндексе*/
         $currency['USD'] = 30.74;/* курс менять каждый день смотреть в яндексе*/
         $currency['RUB'] = 1;
      /* end currency difinition */

         $eur_curr = $eur_curr ? $eur_curr : 1;
         foreach($currency as $k=>$v) $currency[$k] = $eur_curr/$v;

         $currency['national'] = 'RUB'; /* Валюта , относительно которой указаны курсы */
Все верно!
Можно погемороится и сделать так чтоб курсы менять с админки а не постояно в код лазить, но это не комне!
Если у кого-то получится скажите!
Записан
dyominroma
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Сообщений: 126



« Ответ #17 : 04.06.2010, 19:21:07 »

А как можно вывести две цены? До конвертации и после?
Записан
kuzmedmedved
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #18 : 17.09.2010, 17:57:18 »

Благодарность тебе большая ! ))

Народ у кого появился такой вопрос, самое простое решение вот:

1. Cоздаем PHP файл и именуем как "convertHARD"
2. Вставляем в него этот код:

<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );

/**
* Currency Converter Module with HARD linked currencies
* Author Dmitry Tsesluk (tsesl, dma) dma@biz.by
* http://joomlaforum.ru/
*/

class convertHARD {
   /**
    * @param float $amountA
    * @param string $currA defaults to $vendor_currency
    * @param string $currB defaults to $GLOBALS['product_currency'] (and that defaults to $vendor_currency)
    * @return mixed The converted amount when successful, false on failure
    */
   function convert( $amountA, $currA='', $currB='' ) {
      global $mosConfig_cachepath, $mosConfig_live_site, $mosConfig_absolute_path,
            $mosConfig_offset, $vendor_currency, $vmLogger;
   
      // global $vendor_currency is DEFAULT!
      if( !$currA ) {
         $currA = $vendor_currency;
      }
      if( !$currB ) {
         $currB = $GLOBALS['product_currency'];
      }
      // If both currency codes match, do nothing
      if( $currA == $currB ) {      
         return $amountA;
      }
      if( $GLOBALS['converter_array'] == '') {
         $currency = array();

      /* currency difinition */
         $currency['EUR'] = $eur_curr = 11;
         $currency['USD'] = 8;
         $currency['RUB'] = 0.215;
         $currency['UAH'] = 1;
      /* end currency difinition */

         $eur_curr = $eur_curr ? $eur_curr : 1;
         foreach($currency as $k=>$v) $currency[$k] = $eur_curr/$v;

         $currency['national'] = 'UAN'; /* Валюта , относительно которой указаны курсы */

         $currency[$currency['national']] = $eur_curr;
         $GLOBALS['converter_array'] = $currency;
      }
      
      $valA = isset( $GLOBALS['converter_array'][$currA] )? $GLOBALS['converter_array'][$currA] : 1;
      $valB = isset( $GLOBALS['converter_array'][$currB] )? $GLOBALS['converter_array'][$currB] : 1;
      
      $val = $amountA * $valB / $valA;
      return $val;
   }
}
?>

3. Меняем в этом отрезке кода под себя валюту:
      /* currency difinition */
         $currency['EUR'] = $eur_curr = 11;
         $currency['USD'] = 8;
         $currency['RUB'] = 0.215;
         $currency['UAH'] = 1;
      /* end currency difinition */

4. Сохраняем и перемещаем наш файл в папку - administrator\components\com_virtuemart\classes\currency

5. Заходим в панель администратора\VirtueMart\Настройки\Общие настройки - находим строку "Выберите модуль конвертора валют" и выбираем - convertHARD.php

6. Сохраняем и наслаждаемся! Smiley

П.С. После каждого изменения настроек в магазине, незабывайте повторно выбрать "convertHARD.php" и только потом сохранять изменения.
Или можно прсто переименовать или удалить "convertECB.php" находящийся в той же папке.

У меня работает на ура! - www.ukrsports.com.ua

Записан
Marv
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 26


« Ответ #19 : 21.09.2010, 14:57:55 »

Как можно перевести валюту во flypage.tpl.php? У меня установлен JoomFish и мне надо, чтобы в английской версии сайта цены были в евро. Все цены в магазине в рублях, то есть я могу определить язык во flypage.tpl.php, но как перевести там валюту? Записал вот такую функцию в шаблоне $GLOBALS['CURRENCY']->convert($product_price,"RUB","EUR"), но она возвращает пустую строку, наверное, потому что $GLOBALS['converter_array'] тоже пуст.

Как такое можно осуществить? Предложенный вариант изменения модуля не нравится потомучто пользователь не сможет через админку менять курс.
Записан
Marv
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 26


« Ответ #20 : 21.09.2010, 15:20:19 »

блин, два дня голову ломал, в всё было так просто - в $product_price лежит уже отформатированная строка с HTML тэгами. То есть, чтобы перевести валюту в шаблоне в зависимоти от языка:
Код:
$document = & JFactory::getDocument();
$curlang = $document->language;
if ($curlang == 'en-gb') {
  $raw_price=$this->vars["product_price_raw"]["product_price"];
  $cur_currency=$this->vars["product_price_raw"]["product_currency"];
  $eur_price=$GLOBALS['CURRENCY']->convert($raw_price,$cur_currency,"EUR"));
}
причем по курсу ЕЦБ) останется только отформатировать вывод правильно.
Записан
ultra-violet
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 3


« Ответ #21 : 18.10.2010, 15:03:35 »

Народ у кого появился такой вопрос, самое простое решение вот:

1. Cоздаем PHP файл и именуем как "convertHARD"
2. Вставляем в него этот код:

<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );

/**
* Currency Converter Module with HARD linked currencies
* Author Dmitry Tsesluk (tsesl, dma) dma@biz.by
* http://joomlaforum.ru/
*/

class convertHARD {
   /**
    * @param float $amountA
    * @param string $currA defaults to $vendor_currency
    * @param string $currB defaults to $GLOBALS['product_currency'] (and that defaults to $vendor_currency)
    * @return mixed The converted amount when successful, false on failure
    */
   function convert( $amountA, $currA='', $currB='' ) {
      global $mosConfig_cachepath, $mosConfig_live_site, $mosConfig_absolute_path,
            $mosConfig_offset, $vendor_currency, $vmLogger;
   
      // global $vendor_currency is DEFAULT!
      if( !$currA ) {
         $currA = $vendor_currency;
      }
      if( !$currB ) {
         $currB = $GLOBALS['product_currency'];
      }
      // If both currency codes match, do nothing
      if( $currA == $currB ) {      
         return $amountA;
      }
      if( $GLOBALS['converter_array'] == '') {
         $currency = array();

      /* currency difinition */
         $currency['EUR'] = $eur_curr = 11;
         $currency['USD'] = 8;
         $currency['RUB'] = 0.215;
         $currency['UAH'] = 1;
      /* end currency difinition */

         $eur_curr = $eur_curr ? $eur_curr : 1;
         foreach($currency as $k=>$v) $currency[$k] = $eur_curr/$v;

         $currency['national'] = 'UAN'; /* Валюта , относительно которой указаны курсы */

         $currency[$currency['national']] = $eur_curr;
         $GLOBALS['converter_array'] = $currency;
      }
      
      $valA = isset( $GLOBALS['converter_array'][$currA] )? $GLOBALS['converter_array'][$currA] : 1;
      $valB = isset( $GLOBALS['converter_array'][$currB] )? $GLOBALS['converter_array'][$currB] : 1;
      
      $val = $amountA * $valB / $valA;
      return $val;
   }
}
?>

3. Меняем в этом отрезке кода под себя валюту:
      /* currency difinition */
         $currency['EUR'] = $eur_curr = 11;
         $currency['USD'] = 8;
         $currency['RUB'] = 0.215;
         $currency['UAH'] = 1;
      /* end currency difinition */

4. Сохраняем и перемещаем наш файл в папку - administrator\components\com_virtuemart\classes\currency

5. Заходим в панель администратора\VirtueMart\Настройки\Общие настройки - находим строку "Выберите модуль конвертора валют" и выбираем - convertHARD.php

6. Сохраняем и наслаждаемся! Smiley

П.С. После каждого изменения настроек в магазине, незабывайте повторно выбрать "convertHARD.php" и только потом сохранять изменения.
Или можно прсто переименовать или удалить "convertECB.php" находящийся в той же папке.

У меня работает на ура! - www.ukrsports.com.ua



Спасибо тебе! самое простое, а значит самое лучшее решение вопроса.
Записан
ultra-violet
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 3


« Ответ #22 : 18.10.2010, 15:05:01 »

по поводу изменять курсы из админки вот тут что то есть:
http://joomla-support.ru/thread15472.html

сам пока не разбирался
Записан
asilbeko
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 190


чуваааккк!


« Ответ #23 : 01.11.2010, 18:02:06 »

Народ, а есть ли компонент, в котором можно было бы менять курс, ну чтобы каждый раз в файл курса валют не лезть и там не менять... просто если курс меняется каждый день - не очень удобно получается менять его ежедневно, заходя через фтп...
Записан
StarCat
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 54



« Ответ #24 : 08.12.2010, 01:36:13 »

Народ, а есть ли компонент, в котором можно было бы менять курс, ну чтобы каждый раз в файл курса валют не лезть и там не менять... просто если курс меняется каждый день - не очень удобно получается менять его ежедневно, заходя через фтп...
Я пытался тоже найти что нибудь подобное, но потом забил, добавил поле с курсом в таблицу валют и тупо храню курс в базе. Меняю его для валюты через админку.
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #25 : 08.12.2010, 11:14:38 »

на сайте http://virtuemart.ru/
есть конвертор со сбербанком
http://virtuemart.ru/index.php?option=com_docman&task=doc_download&gid=29&Itemid=43
Записан
StarCat
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 54



« Ответ #26 : 08.12.2010, 16:12:20 »

на сайте http://virtuemart.ru/
есть конвертор со сбербанком
http://virtuemart.ru/index.php?option=com_docman&task=doc_download&gid=29&Itemid=43
Ну это малоактуально ИМХО. Особо не встречал интернет магазины которые работают по курсу сбербанка. Обычно у каждого магазина курс свой.
Записан
злобный ламер
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 195



« Ответ #27 : 12.12.2010, 19:02:14 »

Ну это малоактуально ИМХО. Особо не встречал интернет магазины которые работают по курсу сбербанка. Обычно у каждого магазина курс свой.
да ну? Яндекс маркету расскажи что у тебя свой курс, я на тебя гляну
Записан
tirilo
Гость
« Ответ #28 : 12.01.2011, 05:17:48 »

Может кто подскажет решение. прописал convertHARD, установил курсы, все работает отлично. на сайте цены меняются в зависимости от выбора валюты - долар, евро, гривна. но когда добаляю товар в корзину выскакивает -

Попередження: The Currency you had selected (USD) is not accepted for Checkout.
Інформація: Кількість товару оновлено.

Потом захожу в корзину - там тоже самое -
Попередження: The Currency you had selected (USD) is not accepted for Checkout.
и цены отображаются в евро, но без значка - только цифра.
Как это можно решить? Спасибо
Записан
Andriyka
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 11


« Ответ #29 : 20.01.2011, 19:51:49 »

Цитировать
У меня работает на ура! - www.ukrsports.com.ua
На главной странице Вашего сайта не работает.
А за решение спасибо - у меня все ОК.
P.S.
Не целые значения курса писать через точку - "8.09" например.
« Последнее редактирование: 20.01.2011, 20:08:56 от Andriyka » Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet