К примеру у вас есть прайс, который содержит валюту в Рублях, Гривнах и Долларах. В Virtuemart 1.1.9 вы можете выбрать одну главную валюту, и в нее будут конвертироваться остальные - либо автоматически по курсу взятом из интернета, либо вручную из статического файла с курсами, который вы создадите. Но это совсем другая история.
Как заставить Virtuemart 1.1.9 отображать именно ту валюту, которую вы добавили, без конвертации.
1. Ищем файл /administrator/components/com_virtuemart/classes/ps_product.php
Отключаем в этом файле каждую функцию convert(), кроме $url = str_replace( basename( $url ), $GLOBALS['VM_LANG']->convert(basename($url)), $url )
Должно получиться так:
2. Ищем файл /components/com_virtuemart/themes/default/templates/common/price.tpl.php
Находим: echo $CURRENCY_DISPLAY->getFullValue($base_price)?>
Как заставить Virtuemart 1.1.9 отображать именно ту валюту, которую вы добавили, без конвертации.
1. Ищем файл /administrator/components/com_virtuemart/classes/ps_product.php
Отключаем в этом файле каждую функцию convert(), кроме $url = str_replace( basename( $url ), $GLOBALS['VM_LANG']->convert(basename($url)), $url )
Должно получиться так:
Вместо: $value_notax = $GLOBALS['CURRENCY']->convert( $modifier, $product_currency );Делаем: $value_notax = $modifier;//$GLOBALS['CURRENCY']->convert( $modifier, $product_currency );Т.е выносим первый параметр и не используем функцию convert() и по аналогии поступаем со всеми вхождениями. Проще делать поиск по слову convert и там уже решать.
2. Ищем файл /components/com_virtuemart/themes/default/templates/common/price.tpl.php
Находим: echo $CURRENCY_DISPLAY->getFullValue($base_price)?>
Нужно изменить эту строчку таким образом (добавить перед и после):
$tmptmp = $CURRENCY_DISPLAY->symbol; echo $CURRENCY_DISPLAY->getFullValue($base_price); $CURRENCY_DISPLAY->symbol = $tmptmp;
Если, к примеру, вы использовали вместо отображения UAH - грн/шт, то вам следует применить такой код, который я применил в каталоге товаров Победит-Инструмент:
$tmptmp = $CURRENCY_DISPLAY->symbol; if ($price_info['product_currency'] != "UAH") $CURRENCY_DISPLAY->symbol = $price_info['product_currency']; echo $CURRENCY_DISPLAY->getFullValue($base_price); $CURRENCY_DISPLAY->symbol = $tmptmp;
А уже в настройках магазина, при выборе главной валюты укажите отображение грн/шт. Но другие валюты (гривны) будут отображаться в виде RUB и USD. Но этот код можно доделать по тому же принципу и для других валют (к примеру чтобы вместо RUB отображалось руб. а вместо USD отображалось дол.).
Комментариев нет:
Отправить комментарий