Валюта не по умолчанию для Tienda 0.70

Joomla

Я так подозреваю что возможность отображать цены во фронтенде в валюте отличной от той что в базе будет в последующих версиях, но все равно опыт интересен, и я по просьбе lmd и по своему хотению решил немного покопаться в коде. Вот что я нарыл... Посмотрев шаблоны вывода цены, обнаружил что за это отвечает метод dispayPriceWithTax класса TiendaHelperProduct его можно найти по адресу administrator/components/co_tienda/helpers/product.php Выглядит он примерно так:

function dispayPriceWithTax($price='0', $tax='0', $show='0')
    {
        $txt = '';
        if($show && $tax)
        {
            if ($show == '2')
            {
                $txt .= TiendaHelperBase::currency($price + $tax);
            }
            else
            {
                $txt .= TiendaHelperBase::currency($price);
                $txt .= sprintf( JText::_('INCLUDE_TAX'), TiendaHelperBase::currency($tax));
            }
        }
        else
        {
            $txt .= TiendaHelperBase::currency($price);
        }

        return $txt;
    }

Как видим в любом случае (с налогами или без них) цену для нас добывает метод TiendaHelperBase::currency. Да прибудет с нами священный поиск... :) Находим его в: administrator/components/co_tienda/helpers/_base.php И вот так он выглядит:

function currency($amount, $currency='', $options='')
    {
        $currency_helper =& TiendaHelperBase::getInstance( 'Currency' );
        $amount = $currency_helper->_($amount, $currency, $options);
        return $amount;
    }

Второй параметр $currency у нас пуст. По умолчанию дадим ему id валюты в которой мы хотим отображать цены на сайте. Это значение мы возьмем из таблицы валют tienda_currencies поле currency_id. У меня валютой по умолчанию будет UAH и ее id = 5. Для меня код будет следующим:

function currency($amount, $currency='5', $options='')
    {
        $currency_helper =& TiendaHelperBase::getInstance( 'Currency' );
        $amount = $currency_helper->_($amount, $currency, $options);
        return $amount;
    }

 

Comments

Login with GitHub to leave a comments