chip_n, а вы "грн" по примеру выше переделывали? Т.е. правили код валюты?
beliyadm, так можно все-таки сделать, чтобы модуль вытаскивал значение цены, как положено - из <?php echo $product_price ?>
??
А то мало того, что берется код валюты, так еще и значения дефолтные тащит - четыре нуля после запятой.
Спасибо!
Код я не правил, зашел в настройки магазина\список валют и сделал себе грн., но если вы захотите использовать VirtueMart Currency Selector, коректно КУРС ВАЛЮТ отображатся не будет так-как помешает этот файл - convertECB.php(\administrator\components\com_virtuemart\classes\currency) решение этому я нашел - convertHARD.php (его надо поместить в туже папку!)
А вот содержание данного файла:
<?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;
}
}
?>
Потом зайти в настройки магазина (общие настройки\модуль конвертора валют) выбрать "convertHARD.php" и сохранить.
Вот только тот кто написал VirtueMart сделали так чтоб файл "convertECB.php" стоял по умолчанию так что после сохранения он фсеравно вылезет, но вы необращайте внимания и после каждого захода в насройки незабывайте выбрать
"convertHARD.php" и сохраниться!
А в этом месте проставляется курс валют:
$currency['EUR'] = $eur_curr = 11; - курс гривна к евро
$currency['USD'] = 8; - курс гривна к доллару
$currency['RUB'] = 0.215; - курс гривна к рублю
$currency['UAH'] = 1; - курс гривна к гривне (один к одному)