Перейти к содержанию
Форум поддержки пользователей VamShop

Модули доставки


Рекомендуемые сообщения

мм. логично. доставка = 30р за 1 км. валюта в админке - евро. курс 44р. поставил доставку 0,68 (в смысле 68 евроцентов). оформляю заказ. пишет стоимость доставки за 10км = 7р. т.е. считает 1 к 1 с округлением

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 93
  • Created
  • Последний ответ

Top Posters In This Topic

  • support

    45

  • lodos

    25

  • neorumancer

    6

  • enigmabob@mail.ru

    4

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

Ссылка на сообщение
Поделиться на другие сайты

желательно, но не годится. просто потому, что товар поставляется по евровому прайсу. а торговать  в евро (т.е. показывать цену не в нац.валюте) нельзя. я так понимаю - нужно ковырять самому?

Ссылка на сообщение
Поделиться на другие сайты

Видимо, да, т.к. пересчёт по курсу идёт только для товаров, если я правильно понимаю чуть проблемы.

Ссылка на сообщение
Поделиться на другие сайты

проблема в js модуля msk. при оформлении заказа теперь доставка считается красиво. но при указании километража - пересчёт из евро в рубли не проходит.

Ссылка на сообщение
Поделиться на другие сайты

Ну вобщем-то потому он и сидит в файлах, а не идёт с магазином, т.е. по причине возможных глюков.

Таков уж модуль, другого нет на данный момент.

Ссылка на сообщение
Поделиться на другие сайты

Пересчёт числа по курсу идёт с использованием класса vam_price, в /includes/classes/vam_price.php

Для пересчёта курса есть метод CurrEx если я правильно помню.

Ссылка на сообщение
Поделиться на другие сайты

может кто маленька подсобит? собственно, нужно реализовать рассчёт километрожа по курсу евро при оформлении заказа и при его просмотре в модуле доставки "msk"??

Ссылка на сообщение
Поделиться на другие сайты

Вам нужно пример использовать CurrExx, т.е. пересчёт числа по куру другой валюты?!

Можно посмтреть в /includes/modules/payment/paypal.php

Там как раз пересчитывается сумма заказа из одной валюты в другую, можно пример посмотреть.

Ссылка на сообщение
Поделиться на другие сайты

немного не так. мне нужно, чтоб в модуле доставки по Московской обл. (модуль MSK, находится тут: http://vamshop.ru/product_info.php/info/p17_Raschyot-dostavki-v-km-ot-MKAD.html) выводилась стоимость доставки по текущему курсу. Задача осложняется тем, что в админке цены в евро, а на сайте отображены в рублях по курсу. Соответственно, в настройках модуля установлена цена в евро. При рассчёте километража - отображается в евро. А при оформлении заказа - как нужно - в рублях по курсу.

Задача в том, чтоб при рассчёте километража учитвывался курс валют!

Проект временно живёт тут: http://dragonterra.com/gidromassage/

Проверить можно при создании заказа в выборе способа доставки

Ссылка на сообщение
Поделиться на другие сайты

Ну я так понимаю нужно просто пересчитать число по курсу в рубли.

Примерно вот так:


round($vamPrice->CalculateCurrEx('здесь число', 'RUR'), $vamPrice->get_decimal_places('RUR')
[/code]

Вот эта строка выведет указанное число в пересчёте на рубли.

Ссылка на сообщение
Поделиться на другие сайты

мм. я нашёл где происходит js рассчёт

/inc/kms.inc.php


function kms_js_text($one_km_cost) {
$s='<script type="text/javascript">
                  function count_kms_cost() {
Val=document.getElementById("kms_qty").value * '.($one_km_cost?$one_km_cost:'0').'
document.getElementById("kms_result").value=Math.round(Val)
  };
  </script>';
return $s;
};
[/code]

так понимаю, километраж умножается на вот это

($one_km_cost?$one_km_cost:'0')

подставил сюда Ваш код - написало ошибку, типа метод или функция неизвестны

Ссылка на сообщение
Поделиться на другие сайты

заменил

($one_km_cost?$one_km_cost:'0')

на

(round($vamPrice->CalculateCurrEx('здесь число', 'RUR'), $vamPrice->get_decimal_places('RUR')))

в начале ф-ции global $vamPrice;

выводит стоимость 0

Ссылка на сообщение
Поделиться на другие сайты

Что, прям так и написали с тексто 'здесь число'?!

Наверное нужно как-то так:


($one_km_cost?round($vamPrice->CalculateCurrEx($one_km_cost, 'RUR'), $vamPrice->get_decimal_places('RUR')):'0')
[/code] или просто что б проверить, выводит или нет, вот так:
[code]
($one_km_cost?round($vamPrice->CalculateCurrEx(1000, 'RUR'), $vamPrice->get_decimal_places('RUR')):'0')

Ссылка на сообщение
Поделиться на другие сайты

про "здесь число" - мои грабли. признаю. подустал маленька чёт


echo ($one_km_cost?round($vamPrice->CalculateCurrEx(1000, 'RUR'), $vamPrice->get_decimal_places('RUR')):'0');
[/code] выводит 1000
[code]
($one_km_cost?round($vamPrice->CalculateCurrEx($one_km_cost, 'RUR'), $vamPrice->get_decimal_places('RUR')):'0')

всё равно на 100км = 68, типо рублей

Ссылка на сообщение
Поделиться на другие сайты

А если просто куда-нибудь вставить, например в /includes/header.php внизу, до ?>:


global $vamPrice;
echo $vamPrice->CalculateCurrEx(1000, 'RUR');
[/code]

Что выводит?!

В Админке - Разное - Валюты есть ведь валюта с кодом RUR ?!

Ссылка на сообщение
Поделиться на другие сайты

RUR,  EUR [default]

вставил в /include/header.php

в самый низ


global $vamPrice;
echo $vamPrice->CalculateCurrEx(1000, 'RUR');
[/code]

на выходе получил

1000

Ссылка на сообщение
Поделиться на другие сайты

вО! отлично! "кривой" метод был самым лучшим ))

делюсь эмоциями:

Для моего решения memcached

(описано тут: http://vamshop.ru/forum/index.php?topic=4608.0)

находим функцию function kms_js_text($one_km_cost) и целиком меняем на


function kms_js_text($one_km_cost) {
global  $memcache_obj, $eurocurs;
$s='<script type="text/javascript">
                  function count_kms_cost() {
Val=document.getElementById("kms_qty").value * '.($one_km_cost?$one_km_cost * $eurocurs:'0').'
document.getElementById("kms_result").value=Math.round(Val)
  };
  </script>';
return $s;
};
[/code] в случае, если пользуемся $_SESSION["eurocurs"], то функция будет выглядеть так:
[code]
function kms_js_text($one_km_cost) {
$s='<script type="text/javascript">
                  function count_kms_cost() {
Val=document.getElementById("kms_qty").value * '.($one_km_cost?$one_km_cost * $_SESSION["eurocurs"]:'0').'
document.getElementById("kms_result").value=Math.round(Val)
  };
  </script>';
return $s;
};

Ссылка на сообщение
Поделиться на другие сайты

и снова я...

При оформлении заказа в

http://dragonterra.com/gidromassage/checkout_confirmation.php

стоимость доставки считает не по курсу. какой файл отвечает за вывод стоимости доставки по курсу в модуле kms ?

Ссылка на сообщение
Поделиться на другие сайты

×
×
  • Создать...