Работа с ценами

Для получения цен используется класс currency

$currency = currency::getInstance();

Доступны следующие методы:

get_currency([$code = 'RUB'])

Возвращает настройки валюты по коду ($code) - по умолчанию для рубля. В качестве $code можно указать ключевые слова input или output, чтобы получить настройки валют для вводы и вывода соответственно.

var_dump($currency->get_currency('EUR')); object(stdClass)#21 (5) { ["code"]=> string(3) "EUR" ["name"]=> string(8) "евро" ["alias"]=> string(3) "€" ["value"]=> NULL ["view"]=> string(6) "€" } var_dump($currency->get_currency('output')); object(stdClass)#23 (5) { ["code"]=> string(3) "RUB" ["name"]=> string(10) "рубль" ["alias"]=> string(3) "р." ["value"]=> string(4) "1.00" ["view"]=> string(3) "р." }
get_default([$type = 'input'])

Возвращает код валюты используемой для ввода/вывода (input/output)

echo $currency->get_default('input'); //RUB echo $currency->get_default('output'); //RUB
min_price($good_id[, $manual_convert = false])

Возвращает минимальную цену товара. В случае если второй параметр не false - вернётся массив со значением цены, иначе отформатированная цена

echo $currency->min_price($good_id); //8 501 р. //Массив параметров цены - array('цена', 'входная валюта', 'выходная валюта', 'скидка на цену', 'скидка на товар', 'скидка на все товары производителя'); var_dump($currency->min_price($good_id, true)); array(6) { [0]=> string(7) "8501.00" [1]=> string(3) "RUB" [2]=> string(3) "RUB" [3]=> string(4) "0.00" [4]=> string(4) "0.00" [5]=> string(4) "0.00" }
max_price($good_id[, $manual_convert = false])

Возвращает максимальную цену товара. В случае если второй параметр не false - вернётся массив со значением цены, иначе отформатированная цена

echo $currency->max_price($good_id); //8 501 р. //Массив параметров цены - array('цена', 'входная валюта', 'выходная валюта', 'скидка на цену', 'скидка на товар', 'скидка на все товары производителя'); var_dump($currency->max_price($good_id, true)); array(6) { [0]=> string(7) "8501.00" [1]=> string(3) "RUB" [2]=> string(3) "RUB" [3]=> string(4) "0.00" [4]=> string(4) "0.00" [5]=> string(4) "0.00" }
min_max($good_id[, $manual_convert = false])

Возвращает минимальную и максимальную цену товара. В случае если второй параметр не false - вернётся массив со значением цены, иначе отформатированная (от ... до ...) цена

echo $currency->min_max($good_id); //8 501 р. //Массив параметров цены - array('минимальная цена', 'входная валюта для мин.', 'выходная валюта для мин.', 'скидка на цену мин.', 'максимальная цена', 'входная валюта для макс.', 'выходная валюта для макс.', 'скидка на цену макс.', 'скидка на товар', 'скидка на все товары производителя'); var_dump($currency->min_max($good_id, true)); array(10) { [0]=> string(7) "8501.00" [1]=> string(3) "RUB" [2]=> string(3) "RUB" [3]=> string(4) "0.00" [4]=> string(7) "8501.00" [5]=> string(3) "RUB" [6]=> string(3) "RUB" [7]=> string(4) "0.00" [8]=> string(4) "0.00" [9]=> string(4) "0.00" }
prev_price($good_id[, $manual_convert = false])

Возвращает предыдущую цену товара. В случае если второй параметр не false - вернётся массив со значением цены, иначе отформатированная цена

echo $currency->prev_price($good_id); // //Массив параметров цены - array('текущая цена', 'предущая цена валюта', 'выходная валюта', 'выходная валюта', 'в каком случае выводить предыдущую цену'); var_dump($currency->prev_price($good_id, true)); array(8) { [0]=> NULL [1]=> NULL [2]=> NULL [3]=> NULL [4]=> NULL [5]=> NULL [6]=> NULL [7]=> NULL }
default_price($good_id, $manual_convert = false)

Возвращает цену, установленную по умолчанию. В случае если второй параметр не false - вернётся массив со значением цены, иначе отформатированная цена.

Принимает параметры типов окргуления, например $currency->default_price($result->good_id, false, 'client'); , где 'client' - настройки округления для клиентской части.

echo $currency->default_price($good_id); //8 501 р. //Массив параметров цены - array('цена', 'входная валюта', 'выходная валюта', 'скидка на цену', 'скидка на товар', 'скидка на все товары производителя'); var_dump($currency->default_price($good_id, true)); array(9) { [0]=> int(0) [1]=> string(7) "8501.00" [2]=> string(3) "RUB" [3]=> string(3) "RUB" [4]=> string(4) "0.00" [5]=> string(4) "0.00" [6]=> string(4) "0.00" [7]=> string(0) "" [8]=> string(0) "" }
price_with_discount([$price = 0, $price_discount = 0, $good_discount = 0, $man_discount = 0])

Возвращает цену, с учётом скидки

$price
Цена
$price_discount
Скидка на цену
$good_discount
Скидка на товар
$man_discount
Скидка на все товары производителя
echo $currency->price_with_discount(101, 15); //85
convert_value($value, $input, $output)

Конвертирует цену из одной валюты в другую.

$price
Цена
$input
Исходная валюта
$output
Валюта на выходе
echo $currency->convert_value(100, 'RUB', 'EUR'); //100
money_format($min_price = 0, $max_price = 0, $input = null, $output = null)

Форматирует цену исходя из настроек

$min_price
Минимальная цена
$max_price
Максимальная цена
$input
Исходная валюта
$output
Валюта на выходе
echo $currency->money_format(100, 200, 'RUB', 'EUR'); //от 100 до 200 € echo $currency->money_format(100, 0, 'RUB', 'EUR'); //100 € echo $currency->money_format(100); //100 р.