Автопересчет валют в Vamshop

Тема в разделе "VamShop", создана пользователем Hmury, 17 окт 2010.

Статус темы:
Закрыта.
  1. Hmury

    Hmury

    Регистр.:
    6 мар 2008
    Сообщения:
    256
    Симпатии:
    55
    Не нашел возможно ли?
    Хотелось бы, чтобы можно было задать товару цену в долларах, а потом где-нибудь задать курс, и пользователь уже видел все это дело в рублях, автоматически пересчитанным.
     
  2. Sammerset

    Sammerset Постоялец

    Регистр.:
    14 сен 2008
    Сообщения:
    136
    Симпатии:
    10
    Можно.
    Допустим, у нас в магазине основная валюты рубль (код валюты RUR) и есть вторая валюта, доллар США (код валюты USD), мы хотим цены на товары выводить сразу в двух валютах, например так 24.5 руб. (1$).
    Как это сделать.
    1. Открываем файл /includes/classes/product.php
    Ищем:
    PHP:
    function buildDataArray(&$array,$image='thumbnail') {
            global 
    $vamPrice,$main;
                
    $tax_rate $vamPrice->TAX[$array['products_tax_class_id']];
    Добавляем после:
    PHP:
    $vamPriceUSD = new vamPrice('USD'$_SESSION['customers_status']['customers_status_id']);
             
    $products_price_USD $vamPriceUSD->GetPrice($array['products_id'], $format true1$tax_rate$array['products_price'], 1);
    Учтите, что в данном примере я указываю код валюты USD, если у Вас другая валюта, указывайте свой код.
    Затем чуть ниже ищем:
    PHP:
    'PRODUCTS_PRICE' => $products_price['formated'], 
    Меняем на:
    PHP:
    'PRODUCTS_PRICE' => $products_price['formated'] . ' (' $products_price_USD['formated'] . ') '
    Всё, теперь цены в боксах новинки, рекомендуемые, на страницах списка товаров, на страницах новинки, рекомендуемые и т.д. будут в виде 24.5 руб. (1$).
    Чтобы сделать на странице карточки товара вывод сразу в двух валютах, открывайте файл /includes/modules/product_info.php
    Ищите:
    PHP:
    $info->assign('PRODUCTS_PRICE'$products_price['formated']);
    Меняйте на:
    PHP:
    $vamPriceUSD = new vamPrice('USD'$_SESSION['customers_status']['customers_status_id']);
             
    $products_price_USD $vamPriceUSD->GetPrice($product->data['products_id'], $format true1$product->data['products_tax_class_id'], $product->data['products_price'], 1);        
            
    $info->assign('PRODUCTS_PRICE'$products_price['formated'] . ' (' $products_price_USD['formated'] . ') ');
    Ну и наконец-то, нажать кнопку спасибо :)
     
    Hmury нравится это.
  3. Hmury

    Hmury

    Регистр.:
    6 мар 2008
    Сообщения:
    256
    Симпатии:
    55
    Не совсем то, хочется в админке задавать в USD, а в самом магазине чтобы они пересчитывались в руб. по текущему курсу (причем в идеале - чтобы курс автообновлялся с сети). Но думаю на основе этого кода сделаю. )
     
Статус темы:
Закрыта.