lodos 0 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 мм. логично. доставка = 30р за 1 км. валюта в админке - евро. курс 44р. поставил доставку 0,68 (в смысле 68 евроцентов). оформляю заказ. пишет стоимость доставки за 10км = 7р. т.е. считает 1 к 1 с округлением Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 Мультивалютность не по всему магазину, пересчитываются только цены товара, а вот стоимость доставки нет, очень желательно конечно иметь одну валюту, да всё в ней и забивать. Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 желательно, но не годится. просто потому, что товар поставляется по евровому прайсу. а торговать в евро (т.е. показывать цену не в нац.валюте) нельзя. я так понимаю - нужно ковырять самому? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 Видимо, да, т.к. пересчёт по курсу идёт только для товаров, если я правильно понимаю чуть проблемы. Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 проблема в js модуля msk. при оформлении заказа теперь доставка считается красиво. но при указании километража - пересчёт из евро в рубли не проходит. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 Ну вобщем-то потому он и сидит в файлах, а не идёт с магазином, т.е. по причине возможных глюков. Таков уж модуль, другого нет на данный момент. Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 мм. тогда такой вопрос.. текущий курс (значение) в какой php-переменной живёт? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 Пересчёт числа по курсу идёт с использованием класса vam_price, в /includes/classes/vam_price.php Для пересчёта курса есть метод CurrEx если я правильно помню. Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 может кто маленька подсобит? собственно, нужно реализовать рассчёт километрожа по курсу евро при оформлении заказа и при его просмотре в модуле доставки "msk"?? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 Вам нужно пример использовать CurrExx, т.е. пересчёт числа по куру другой валюты?! Можно посмтреть в /includes/modules/payment/paypal.php Там как раз пересчитывается сумма заказа из одной валюты в другую, можно пример посмотреть. Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 немного не так. мне нужно, чтоб в модуле доставки по Московской обл. (модуль MSK, находится тут: http://vamshop.ru/product_info.php/info/p17_Raschyot-dostavki-v-km-ot-MKAD.html) выводилась стоимость доставки по текущему курсу. Задача осложняется тем, что в админке цены в евро, а на сайте отображены в рублях по курсу. Соответственно, в настройках модуля установлена цена в евро. При рассчёте километража - отображается в евро. А при оформлении заказа - как нужно - в рублях по курсу. Задача в том, чтоб при рассчёте километража учитвывался курс валют! Проект временно живёт тут: http://dragonterra.com/gidromassage/ Проверить можно при создании заказа в выборе способа доставки Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 Ну я так понимаю нужно просто пересчитать число по курсу в рубли. Примерно вот так: round($vamPrice->CalculateCurrEx('здесь число', 'RUR'), $vamPrice->get_decimal_places('RUR')[/code]Вот эта строка выведет указанное число в пересчёте на рубли. Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 а где именно её вставить и с какой строки её поменять? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 Ну я ж не знаю где Вы хотите выводить. Может где-то в /includes/modules/shipping, в файле модуля. Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 мм. я нашёл где происходит 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')подставил сюда Ваш код - написало ошибку, типа метод или функция неизвестны Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 Попробуйте ещё добавить такую строку: global $vamPrice;[/code] Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 заменил ($one_km_cost?$one_km_cost:'0') на (round($vamPrice->CalculateCurrEx('здесь число', 'RUR'), $vamPrice->get_decimal_places('RUR'))) в начале ф-ции global $vamPrice; выводит стоимость 0 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 Что, прям так и написали с тексто 'здесь число'?! Наверное нужно как-то так: ($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') Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 про "здесь число" - мои грабли. признаю. подустал маленька чёт 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, типо рублей Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 А если просто куда-нибудь вставить, например в /includes/header.php внизу, до ?>: global $vamPrice;echo $vamPrice->CalculateCurrEx(1000, 'RUR');[/code]Что выводит?!В Админке - Разное - Валюты есть ведь валюта с кодом RUR ?! Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 RUR, EUR [default] вставил в /include/header.php в самый низ global $vamPrice;echo $vamPrice->CalculateCurrEx(1000, 'RUR');[/code]на выходе получил1000 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 Ну тогда может какой-нибудь кривой вариант типа: ($one_km_cost?$one_km_cost * курс:'0')[/code] Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 вО! отлично! "кривой" метод был самым лучшим )) делюсь эмоциями: Для моего решения 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;}; Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 декабря, 2009 Жалоба Share Опубликовано 17 декабря, 2009 Хорошо, что разобрались и спасибо за код. Ссылка на сообщение Поделиться на другие сайты
lodos 0 Опубликовано 18 декабря, 2009 Жалоба Share Опубликовано 18 декабря, 2009 и снова я... При оформлении заказа в http://dragonterra.com/gidromassage/checkout_confirmation.php стоимость доставки считает не по курсу. какой файл отвечает за вывод стоимости доставки по курсу в модуле kms ? Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения