Пытаюсь сделать конвертацию цены (нужна помощь)

Kores

Создатель
Регистрация
11 Янв 2009
Сообщения
33
Реакции
3
Здравствуйте! Сразу отмечу, как многие тут делают, что в php разбираюсь на уровне "пытаюсь разобраться".

Собственно в чем вопрос. Я решил сделать конвертацию цены на сайте. Т.е. у меня есть сайт с объявлениями недвижимости. При добавлении объявления пользователь вводит цену и устанавливает валюту.

Я еле разобрался, как отображать в сочетании эти 2 значения, но решил пойти дальше. Вот так я вывожу цену:

PHP:
<?php $value = get_post_meta($post->ID, 'cf-currency', true); 
        if($value == 'rub') { 
        echo get_post_meta($post->ID, "cf-price", true) . '  руб.';
        } elseif($value == 'eur') { 
        echo get_post_meta($post->ID, "cf-price", true) . ' €'; 
        } elseif($value == 'usd') { 
        echo get_post_meta($post->ID, "cf-price", true) . ' $';
        } else { 
        echo 'Цена не задана'; 
        } 
?>

Так же я с помощью JqueryCookie сделал выбор для конечного пользователя валюту (т.е. в какой валюте ему показывать цены). Есть cookie "level" со значениями "rub", "usd" и "eur".

Как мне теперь сделать конвертацию, чтобы допустим был такой цикл:

  • Проверяем значение валюты в объявлении
    • В объявлении задана валюта Евро
      • Если пользователь выбрал куки EUR - оставить все как есть.
      • Если пользователь выбрал куки RUB - умножить значение PRICE на 50.
      • Если пользователь выбрал куки USD - умножить значение PRICE на 1.3.
    • В объявлении задана валюта Рубль
      • Если пользователь выбрал куки RUB - оставить все как есть.
      • Если пользователь выбрал куки EUR - разделить значение PRICE на 50.
      • Если пользователь выбрал куки USD - умножить значение PRICE на 36.
  • В объявлении задана валюта Доллар
      • Если пользователь выбрал куки USD - оставить все как есть.
      • Если пользователь выбрал куки EUR - умножить значение PRICE на 0.7.
      • Если пользователь выбрал куки RUB - разделить значение PRICE на 36.
Получается примерно так. Я как понимаю нужно сделать множественные конструкции if и elseif, ну в них я не разбираюсь. Заранее спасибо за Вашу помощь!
 
Вообще Вы ищете себе геморроя с такой структурой.
При подключении платежных систем потом не разберешься — а в чём же цена?
Потому цена должна в базе одна быть. И храниться курсы пересчёта, но в форму заказа цены в посторонних валютах чтоб не попадали!
Курсы для пересчёта используем только для справки, а валюта сайта — одна.
При оплате уже разбираемся, в какую валюту пересчитывать.
Либо с клиентом разбирается выбранная им платежная система, пусть тогда он ей за конвертацию проценты платит.
Я реализовывал так: основная валюта, плюс скока хочешь дополнительных.
Примерно так это выглядит на сайте:
Цена:
270 000 - Белорусских рублей
Это примерно:

1039 - Российских рублей
28 - Долларов США
21 - ЕВРО
304 - Украинских гривен

Ну и ниже кнопка «Оплатить»

См. в действии на сайте (как раз недвижимости) — Для просмотра ссылки Войди или Зарегистрируйся

Должен сказать, что изначально идея не моя
У Лебедева в магазине именно так поставлено
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Подключения к платежным системам никакого не будет. Объясню, почему такой геморой развожу...

допустим арендодатели и продавцы из США будут добавлять цену в долларах, а ребята из европы - в евро.

И я уверен, они не будут делать конвертацию цены для рубля...

Взять например агенства которые занимаются недвижимостью в испании

Скрытое содержимое доступно для зарегистрированных пользователей!


У них у всех цены в евро, а если взять продавцов США

Скрытое содержимое доступно для зарегистрированных пользователей!


то цены уже в баксах. И продавцам будет удобнее вписывать цены в своей валюте, а покупателям - уже выбирать ту валюту, в которой они хотят смотреть. Вот и загвоздка :)
 
На всех показанных Вами сайтах валюта одна. А у Вас планируется геморрой.
Это потому, что пытаетесь подстроиться под покупателя, что в общем правильно на обычном сайте.
На сайты недвижимости правило это не распространяется, т.к. валюта должна быть та, что принята в стране продажи (где недвижимость находится). А остальные валюты показывать справочно (в Испании будете всё равно покупать за евро, а не за доллары).
По хорошему, сайт недвижимости должен быть привязан к стране и её валюте (да-да, кто хочет купить виллу в Испании, на виллу в Италии смотреть не будет). Напрашивается распедаливание сайта по подпапкам — или по доменам 3 уровня.
Со своими языками, валютами и другими особенностями в каждом.
Берите пример с небезызвестного olx. Они распихали до «домен 3 уровня == город», «домен 2 уровня == страна».
Ну Вам и вариант «домен 3 уровня == страна»(плюс поиск по городам), «домен 2 уровня == разводящая по странам страница» прокатил бы.
 
Последнее редактирование:
Назад
Сверху