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

Тема в разделе "Как сделать...", создана пользователем Kores, 3 мар 2014.

  1. Kores

    Kores Создатель

    Регистр.:
    11 янв 2009
    Сообщения:
    32
    Симпатии:
    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, ну в них я не разбираюсь. Заранее спасибо за Вашу помощь!
     
  2. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    Вообще Вы ищете себе геморроя с такой структурой.
    При подключении платежных систем потом не разберешься — а в чём же цена?
    Потому цена должна в базе одна быть. И храниться курсы пересчёта, но в форму заказа цены в посторонних валютах чтоб не попадали!
    Курсы для пересчёта используем только для справки, а валюта сайта — одна.
    При оплате уже разбираемся, в какую валюту пересчитывать.
    Либо с клиентом разбирается выбранная им платежная система, пусть тогда он ей за конвертацию проценты платит.
    Я реализовывал так: основная валюта, плюс скока хочешь дополнительных.
    Примерно так это выглядит на сайте:
    Цена:
    270 000 - Белорусских рублей
    Это примерно:

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

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

    См. в действии на сайте (как раз недвижимости) — http://5557070.by/?module=fncatalogue&showitem=111

    Должен сказать, что изначально идея не моя
    У Лебедева в магазине именно так поставлено
    http://store.artlebedev.ru/interior/posters/nehui/
     
    Последнее редактирование: 3 мар 2014
  3. Kores

    Kores Создатель

    Регистр.:
    11 янв 2009
    Сообщения:
    32
    Симпатии:
    3
    Подключения к платежным системам никакого не будет. Объясню, почему такой геморой развожу...

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

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

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



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



    то цены уже в баксах. И продавцам будет удобнее вписывать цены в своей валюте, а покупателям - уже выбирать ту валюту, в которой они хотят смотреть. Вот и загвоздка :)
     
  4. Denixxx

    Denixxx

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