Добрый вечер, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 SX CMS / Плагины и модификации
         Курсы валют

Похожие темы

Курсы валют


События Понедельник, 23.11.2009, 10:40

Odyssey

Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
Цитата
Автор: timont

однажды этот вопрос поднимал на нулледе

суть такова
1)курс валют обновляется автоматически например от центро-банка
2) каждому товару при загрузке должна присваивается своя валюта

и уже после выводится на сайте в той валюте которая удобна покупателю.

этот вариант использует VIRTUEMART
лично мое мнение.
1. абсолютно не нужно, т.к. все магазины, которые я знаю, как виртуальные (50), так и реальные (35), никогда не используют официальные курсы для пересчета. всегда курс устанавливается собственный, т.к. чтобы не грузить вас познаниями экономики и маркетинга, у каждого свои расходы на доставку, разные кредитные линии, разные спрос и т.д., т.е. все это, в конечном итоге, выливается в себестоимость товара и конечную цену на товар (т.е. в конечном итоге - прибыль), а курс валют это лишь инструмент для быстрого изменения цены на товар, без пересчета выше названного.

2. об этом писал ранее в теме - и это однозначно нужно.




Пользователь офлайн
События Понедельник, 23.11.2009, 18:42

timont

Группа: Пользователь
Ранг: Новичок
Cообщений: 54
Регистрация: 02.11.2009
Город: n
Цитата
Автор: Odyssey
Цитата
Автор: timont

однажды этот вопрос поднимал на нулледе

суть такова
1)курс валют обновляется автоматически например от центро-банка
2) каждому товару при загрузке должна присваивается своя валюта

и уже после выводится на сайте в той валюте которая удобна покупателю.

этот вариант использует VIRTUEMART
лично мое мнение.
1. абсолютно не нужно, т.к. все магазины, которые я знаю, как виртуальные (50), так и реальные (35), никогда не используют официальные курсы для пересчета. всегда курс устанавливается собственный, т.к. чтобы не грузить вас познаниями экономики и маркетинга, у каждого свои расходы на доставку, разные кредитные линии, разные спрос и т.д., т.е. все это, в конечном итоге, выливается в себестоимость товара и конечную цену на товар (т.е. в конечном итоге - прибыль), а курс валют это лишь инструмент для быстрого изменения цены на товар, без пересчета выше названного.

2. об этом писал ранее в теме - и это однозначно нужно.




если вопрос был поднят то думаю потребность существует ,
не все работают как один, кому то требуется так кому то иначе,
этот вариант по большей части требуется экспортёрам или точнее тем кто продаёт в нескольких валютах.
если счёт выставляешь в одной и той же валюте конечно же фиксированный курс более предпочтителен,
но если у тебя две а тем более три валюты в которых ты выставляешь счёт покупателю (ну это для экспортёров восновном)
то фиксированный курс может сыграть плохую шутку
Пользователь офлайн
События Понедельник, 23.11.2009, 18:46

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
я за универсальность - поэтому, если кому-то нужен курс центробанка или украинского НБУ, то дело только за Александром или тем кто прикрутит его.
но и собственный курс тоже должен быть.
Пользователь офлайн
События Вторник, 24.11.2009, 03:38

Kurman

Группа: Пользователь
Ранг: Продвинутый
Cообщений: 237
Регистрация: 26.10.2009
Город: Moscow
Блок вывода курса валют с рбк
Если кому будет интересно просто выводить курс валют на сайте.

Создаем новый блок и вписываем в него такой код(можно поискать и другие, то выкладываю то что попалось первым под руку):
Код
<script src="http://pics.rbc.ru/js/rbc_indices.js"></script>
<script>
print_ind('_USD_CB_-_EUR_CB_');
</script>

Вот более предпочтительный вариант кода вывода валют с ЦБ:
PHP-код
<!-- 
Профессиональная разработка и поддержка web сайтов
[
EMAIL]site_maker@mail.ru[/EMAIL]
[
URL]http://pk.elho.ru/
На заказы отвечу сразуесли оставите свои координаты и телефоны 
-->
<?
php 
  
// Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru 
  
$content get_content(); 
  
// Разбираем содержимое, при помощи регулярных выражений 
  
$pattern "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i"
  
preg_match_all($pattern$content$outPREG_SET_ORDER); 
  
$dollar ""
  
$euro ""
  foreach(
$out as $cur
  { 
    if(
$cur[2] == 840$dollar str_replace(",",".",$cur[4]); 
    if(
$cur[2] == 978$euro   str_replace(",",".",$cur[4]); 
  } 
  echo 
"<b>Доллар</b> - ".$dollar."&nbsp;руб.&nbsp;&nbsp;<br>"
  echo 
"<b>Евро</b> - ".$euro."&nbsp;руб.<br><br>"
  function 
get_content() 
  { 
    
// Формируем сегодняшнюю дату 
    
$date date("d/m/Y"); 
    
// Формируем ссылку 
    
$link "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date"
    
// Загружаем HTML-страницу 
    
$fd fopen($link"r"); 
    
$text=""
    if (!
$fd) echo "Запрашиваемая страница не найдена"
    else 
    { 
      
// Чтение содержимого файла в переменную $text 
      
while (!feof ($fd)) $text .= fgets($fd4096); 
    } 
    
// Закрыть открытый файловый дескриптор 
    
fclose ($fd); 
    return 
$text
  } 
?>
Пользователь офлайн
События Среда, 17.02.2010, 14:54

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
Александр, может что-то всё-таки придумаешь с выводом курса валют на сайте, забитого в админ панели?
Весьма стало актуально на данный момент.
Пользователь офлайн
События Четверг, 18.02.2010, 13:31

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
пока обошелся добавлением нового блока и размещением его в шаблоне смены валюты, но хотелось бы чтобы данные вытягивались из базы, дабы не плодить по два раза валюту.
Пользователь офлайн
События Пятница, 26.02.2010, 18:35

NoSignal

Группа: Пользователь
Ранг: Новичок
Cообщений: 15
Регистрация: 28.11.2009
Город: Barnaul City
Цитата
Автор: Odyssey
пока обошелся добавлением нового блока и размещением его в шаблоне смены валюты, но хотелось бы чтобы данные вытягивались из базы, дабы не плодить по два раза валюту.


А поподробней как вывести курс валют, хотя бы тот что забит в админке?
Пользователь офлайн
События Пятница, 26.02.2010, 18:47

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
курс так или иначе ты вбиваешь руками.
поэтому я сделал отдельный блок в Блоки и Контент -> CODEBLOCK:1
$1 = 8.10 грн
?1 = 11.05 грн

[ CODEBLOCK:1 ]вставляешь куда нужно в шаблон
Пользователь офлайн
События Пятница, 26.02.2010, 19:50

NoSignal

Группа: Пользователь
Ранг: Новичок
Cообщений: 15
Регистрация: 28.11.2009
Город: Barnaul City
На счет курсов валют, тут кто то писал но его не поняли. Попробую понятней написать, так как тоже хотелось бы увидеть эту функцию.

Итак: есть половина товаров российского производителя с фиксированной ценой в рублях. Вторая половина товаров зарубежного производства, и поставщик у которого я беру продает по фиксированной цене в долларах. Я продаю по ценам в рублях. На основании фиксированных цен в долларах, моего зарубежного поставщика, формируются цены по которым я продаю, цены будут плавать, изза курса который меняется каждый день, товар не пирожки, поэтому внутренний курс не канает.

Вариант решения: оставить "основаная валюта" для постоянного отображения в магазине цен в основной валюте, то есть в рублях. Добавить пункт выбора "учетной валюты" для каждого товара. Если товар российский, выбираем рубль, и указываем цену в рублях. Если товар импортный (зарубежный поставщик) то выбираем валюту "доллар" или "евро" и указываем цену в этой валюте. Создать грабилку для курсов валют. Далее при выводе уже происходит обработка, "учетная валюта" как "основная валюта" магазина цена выводится как есть, если нет то происходит пересчет согласно "сграбленных" курсов и также выводится в "основной валюте".

Эта проблема имеет место быть, и даже 1С ее не решает без доработок (кто то упоминал что можно выбирать учетную политику), вы просто не работали одновременно с зарубежными и отечественными поставщиками в одной базе :)
Благодарности KorSa, Kalyda
Пользователь офлайн
События Суббота, 27.02.2010, 00:13

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Самый простой способ вывести валюты и не плодить блоки это вставить в curreny_selector.tpl
где нить после {/strip} такой вот код:

PHP-код
      
{assign var="foo" value="1"}
{if 
$cu_array.Waehrung_2}
<
br />
<
br />
<
strong>1{$cu_array.WaehrungSymbol_2} = {$foo/$cu_array.Multiplikator_2|numformat}{$cu_array.WaehrungSymbol_1}</strong>
{/if}
{if 
$cu_array.Waehrung_3}
<
br />
<
strong>1{$cu_array.WaehrungSymbol_3} = {$foo/$cu_array.Multiplikator_3|numformat}{$cu_array.WaehrungSymbol_1}</strong>
{/if}



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


Пользователь офлайн
События Суббота, 27.02.2010, 10:57

NoSignal

Группа: Пользователь
Ранг: Новичок
Cообщений: 15
Регистрация: 28.11.2009
Город: Barnaul City
Можно хотябы сделать автообновление мультипликаторов валюты?
Например сделать этот код в отдельный файл как функцию:

PHP-код
<?php
  
// Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru  
  
$content get_content();  
  
// Разбираем содержимое, при помощи регулярных выражений  
  
$pattern "#<Valute ID="([^"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";  
  
preg_match_all($pattern$content$outPREG_SET_ORDER);  
  
$dollar "";  
  
$euro "";  
  foreach(
$out as $cur)  
  {  
    if(
$cur[2] == 840$dollar str_replace(",",".",$cur[4]);  
    if(
$cur[2] == 978$euro   str_replace(",",".",$cur[4]);  
  }  
  echo 
"<b>Доллар</b> - ".$dollar." руб. <br>";  
  echo 
"<b>Евро</b> - ".$euro." руб. <br>";  
  function 
get_content()  
  {  
    
// Формируем сегодняшнюю дату  
    
$date date("d/m/Y");  
    
// Формируем ссылку  
    
$link "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date";  
    
// Загружаем HTML-страницу  
    
$fd fopen($link"r");  
    
$text="";  
    if (!
$fd) echo "Запрашиваемая страница не найдена";  
    else  
    {  
      
// Чтение содержимого файла в переменную $text  
      
while (!feof ($fd)) $text .= fgets($fd4096);  
    }  
    
// Закрыть открытый файловый дескриптор  
    
fclose ($fd);  
    return 
$text;  
  }  
?>


При загрузке сайта чтобы получал курсы, сохранял в переменные, потом менял значение мултипликаторов автоматически прям в базе. Код немного нужно доработать для этого, я не силен ни в php ни в java ни smarty (идеи есть а реализовать немогу :) ), но как более менее программист не вижу больших и не выполнимых задач.
Пользователь офлайн
События Суббота, 27.02.2010, 11:41

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Не выполнимых задач нет, есть нехватка времени, все таки это мое хобби а не основная работа.
Проблемы нет впихнуть данные в базу, если не знаете особо php, предложите математический алгоритм, чтобы можно было делать привязку, то есть нужен алгоритм в цифрах, на функцию я его натяну. Задача есть три валюты, нужно уравнение, чтобы можно было вписывать коэфициент эквивалентом основной валюты, при том что бы можно было основной делать любую валюту


Пользователь офлайн
События Воскресенье, 28.02.2010, 02:19

Odyssey

Автор текущей темы
Группа: Пользователь
Ранг: Мастер
Cообщений: 574
Регистрация: 29.10.2009
я не вижу возможности сделать в разрезе данной версии магазина правильной многовалютности
идеально - товар должен иметь основную единицу исчисления валюты и дополнительные

можно сделать для каждой валюты собственные поправочные коэффициенты для каждой существующей в базе валюты (относительно основной), НО
если магазин планируется переделывать и причем по уму, то эти коэф. будут избыточными и не нужными

второй вариант это сделать "основной валютой" значение равной "a", "b" и "c" (например, гривна - доллар - евро) и относительно её плясать, т.е. основная валюта = это будет постоянное значение либо "a", либо, "b", либо "с", на основании которого будут вычисляться три валюты с заданными коэффициентами поправок
добавить ещё одно поле в базу (или взять неиспользуемое) со значением стоимости товара, неважно в какой валюте
Пользователь офлайн
События Воскресенье, 28.02.2010, 10:19

NoSignal

Группа: Пользователь
Ранг: Новичок
Cообщений: 15
Регистрация: 28.11.2009
Город: Barnaul City
Разберемся в понятиях немного: "основная валюта магазина" это та валюта в которой выводится цена. Товар может иметь разную "учетную валюту", но продаваться по цене "основной валюты магазина". Другими словами надо добавить пункт выбора "учетной валюты" из имеющегося уже списка. В базе просто добавится еще одно поле отвечающего за описание товара. При выводе цены в обзоре товара, происходит проверка если "учетная валюта" этого товара совпадает с "основной валютой магазина" коэфициент 1, если отличается то берутся данные из мультипликатора (множителя) который задается в админке.

Что мы имеем: в базе добавить поле в записи таблицы товаров, которое может принимать одно из значений (из трех значений возможных валют). Добавить в админке, в окне редактирования товаров этот чекбокс. В темплате вывода обзора товара в функции отображения цены делать проверку на "учетную валюту" и умножать на соответствующий коэфициент, и выводить цену в "основной валюте магазина".

Что касается автообновления множителей (мультипликаторов). Вот выкладывал код, его прикрутить на стартовой странице к примеру (тут не знаю куда лучше), код закачивает курсы, обрабатывает, данные помещаются в переменные $dollar и $euro (см. код выше) далее конвертируются в множители и сохраняются в базу данных. Админка берет данные потом из базы.
Пользователь офлайн
События Воскресенье, 28.02.2010, 13:13

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Основная валюта это та которая выбрана самой верхней и относительно которой задаются коэфициенты.
Ну так при предложенной методике нужно переписать 90 процентов кода, поглядите глобальней, на остальные функции как завязано.

Насчет автообновления тоже не так просто, не всем покатит курс от центробанка, при том я выклыдывал код с кешированием, а ваш при каждом обновлении страницы будет их сервак дергать


Пользователь офлайн


Похожие темы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте

Пользователей: 0, Гостей: 1

Поисковые боты: 196
Bot(186), BingBot(3), Googlebot(3), oBot(4)
 Статистика форума

  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: dota812651
 Дни рождения

Сегодня нет именинников
Copyright © 2009 - 2024 SX All rights reserved | Powered by SX CMS 1.06 UTF | Контакты