Переменная для вывода цены с конвертацией валюты

Тема в разделе "PrestaShop", создана пользователем jurikserf, 27 июн 2015.

Информация :
Хочешь в разделе без проблем общаться - прочти правила, чтобы потом с форумом на время не прощаться. Читать обязательно!
Внимание! Читайте внимательно правила!Предупреждения выдаются без всяких вопросов. Нарушил - получил. Будьте Внимательнее! Постинг нескольких постов подряд приравнивается к НАРУШЕНИЮ! Будьте вежливы и соблюдайте правила ;-)
Модераторы: ZiX
  1. jurikserf

    jurikserf Постоялец

    Регистр.:
    4 янв 2013
    Сообщения:
    104
    Симпатии:
    30
    Второй день бьюсь с модулем, никак не могу вывести цену товара, чтобы менялось ее значение при выборе другой валюты.
    При изменении валюты происходит смена значка валюты, но сама цифра остается неизменной. Цифра меняется только при добавлении этого товара в корзину.
    Пробовал вытянуть переменную с шаблона корзины, но максимум чего добился-это смены значка валюты.
    Вроде должно быть просто, но пока никак не могу победить.


    Прописываю такую переменную, меняет знак, но не конвертирует саму стоимость. Показывает одну цифру на разных валютах.
    {convertPriceWithCurrency price=$item.price}

    Может кто сможет помочь? Подсказать. Гуглил пару часов, не нашел решения.
    P.S. Первый магазин на Prestashop 2.0
     
  2. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
  3. jurikserf

    jurikserf Постоялец

    Регистр.:
    4 янв 2013
    Сообщения:
    104
    Симпатии:
    30
    Ну так и выводил впринципе, только знак валюты меняется, цифра не конвертируется.
     
  4. 2xDiP

    2xDiP Постоялец

    Регистр.:
    25 сен 2013
    Сообщения:
    60
    Симпатии:
    14
    Код:
    {if $priceDisplay >= 0 && $priceDisplay <= 2}
       <span itemprop="price" id="our_price_display">{convertPrice price=$productPrice}</span>
    {/if}
    <!-- price in dollars -->
     {assign var="price" value=$product->getPrice(true, $smarty.const.NULL, 2)}
     {assign var="convertedPrice" value=Tools::convertPrice($price, $currencies.0.id_currency)}
      $ : {round($convertedPrice, 0)}
    <!-- price in euros -->
     {assign var="price" value=$product->getPrice(true, $smarty.const.NULL, 2)}
     {assign var="convertedPrice" value=Tools::convertPrice($price, $currencies.1.id_currency)}
      € : {round($convertedPrice, 0)}
    
    Помнится, на 1.5.6.2 делал так. В меню "Валюта": 1 - рубль, 2 - доллар, 3 - евро.
    Правда это был каталог, и дальше, чем просто "показать клиенту цены в валюте" - дело не пошло.
     
  5. kikorik

    kikorik Постоялец

    Регистр.:
    13 май 2012
    Сообщения:
    115
    Симпатии:
    4
    Код:
    {if !$priceDisplay}
                                 {if $currency->id == 4}
                                  {convertPriceWithCurrency price={$product.price*$currencies.0.conversion_rate} currency=$currencies.0 convert=true}
                                     <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.1.conversion_rate} currency=$currencies.1 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.2.conversion_rate} currency=$currencies.2 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.3.conversion_rate} currency=$currencies.3 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.4.conversion_rate} currency=$currencies.4 convert=true}                                  
                                    {elseif $currency->id == 2}
                                     {convertPriceWithCurrency price={$product.price/$currencies.1.conversion_rate} currency=$currencies.0 convert=true}
                                     <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.1.conversion_rate/$currencies.1.conversion_rate} currency=$currencies.1 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.2.conversion_rate/$currencies.1.conversion_rate} currency=$currencies.2 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.3.conversion_rate/$currencies.1.conversion_rate} currency=$currencies.3 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.4.conversion_rate/$currencies.1.conversion_rate} currency=$currencies.4 convert=true}
                                    {elseif $currency->id == 1}
                                     {convertPriceWithCurrency price={$product.price/$currencies.2.conversion_rate} currency=$currencies.0 convert=true}
                                     <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.1.conversion_rate/$currencies.2.conversion_rate} currency=$currencies.1 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.2.conversion_rate/$currencies.2.conversion_rate} currency=$currencies.2 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.3.conversion_rate/$currencies.2.conversion_rate} currency=$currencies.3 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.4.conversion_rate/$currencies.2.conversion_rate} currency=$currencies.4 convert=true}
                                    {elseif $currency->id == 5}
                                     {convertPriceWithCurrency price={$product.price/$currencies.3.conversion_rate} currency=$currencies.0 convert=true}
                                     <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.1.conversion_rate/$currencies.3.conversion_rate} currency=$currencies.1 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.2.conversion_rate/$currencies.3.conversion_rate} currency=$currencies.2 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.3.conversion_rate/$currencies.3.conversion_rate} currency=$currencies.3 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.4.conversion_rate/$currencies.3.conversion_rate} currency=$currencies.4 convert=true}
                                    {elseif $currency->id == 6}
                                     {convertPriceWithCurrency price={$product.price/$currencies.4.conversion_rate} currency=$currencies.0 convert=true}
                                     <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.1.conversion_rate/$currencies.4.conversion_rate} currency=$currencies.1 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.2.conversion_rate/$currencies.4.conversion_rate} currency=$currencies.2 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.3.conversion_rate/$currencies.4.conversion_rate} currency=$currencies.3 convert=true}
                                        <br />
                                     {convertPriceWithCurrency price={$product.price*$currencies.4.conversion_rate/$currencies.4.conversion_rate} currency=$currencies.4 convert=true}
                                    {/if}
                                {/if}
    Нашла на официальном форуме Prestashop. Работает для 1.6.1.1
     
  6. Riva

    Riva Папочка

    Регистр.:
    2 мар 2013
    Сообщения:
    386
    Симпатии:
    426
    http://ps.riva.od.ua/modules/8-cena-vo-vsekh-valyutakh
    и
    http://ps.riva.od.ua/modules/14-cena-vo-vsekh-valyutakh-na-stranice-kategorij