Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Расчет цены товаров

Возникла задача хранения цен товаров в разных валютах т.е. товар А стоит 100 руб, товар Б стоит 100 евро, товар С 100 дол. а на сайте оно все в рублях должно быть. В общем создал я в таблице "products" еще 1 поле "products_currencies" куда пишу id валюты. Все это дело прикрутил в Админке и все бы хорошо но... Не могу разобраться как нужную мне цену заставить отображаться в товарах уже на самом сайте. цену с пересчетом получаю примерно так:
"select
    ROUND(prod.products_price/value,2) as cena
  from os_currencies
  left join os_products as prod
  on `currencies_id` = prod.products_currencies
  where prod.products_id = '".$products_id."


в файле \includes\classes\product.php есть метод buildDataArray, который отвечает за формирование массива для товаров уже в шаблон.
в нем есть строка для получения цены товара $osPrice->GetPrice.....
Самое простое тут и конвертировать в нужную валюту в зависимости от products_currencies и отдавать в шаблон..
хотя скорее всего лучше будет где-то раньше формировать цены. возможно в includes\classes\price.php


А насколько корректно будет если в prise.pfp function GetPrice воткнусь в самом начале перед if ($this->cStatus['customers_status_show_price'] == '0') и там буду подменять $pPrice на то что мне надо?


ну вы попробуйте. если будет корректно выводить все - значит нормально.


Источник



Copyright ShopOS