Помогите пожалуйста изменить отображаемую валюту, что показывается в почте. Две валюты в магазине - рубли и баты. По умолчанию стоят баты. В магазине нет возможности выбрать валюту, там показывается только одна - рубли. В письмах, приходящих клиенту, напротив каждого товара стоит валюта в батах, и только на против строчек "итого" и "сумма" указаны рубли. Для того, чтобы в магазине отображались только рубли, я немного поправил файл system\library\currency.php, в результате одна из строк выглядит так: public function format($number, $currency = 'RUB', $value = '', $format = true) { if ($currency && $this->has($currency)) { $symbol_left = $this->currencies[$currency]['symbol_left']; $symbol_right = '<font class="ruble">'.$this->currencies[$currency]['symbol_right'].'</font>'; Так вот, нужно чтобы баты в письме не показывались, были только рубли. Адрес магазина - http://taidar.ru/ Движок - ocStore 1.5.5.1.2 Шаблон не дефолтный Скрин почты - https://yadi.sk/i/TM-qGNnjg8zf7
Файл model/checkout/order.php, функция confirm. Найдите код: PHP: $template->data['products'][] = array( 'name' => $product['name'], 'model' => $product['model'], 'option' => $option_data, 'quantity' => $product['quantity'], 'price' => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']), 'total' => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value'])); Замените в значениях price и total $order_info['currency_value'] на 'RUB' .
Спасибо. Действительно, символ изменился, только пересчёт остался прежним. То есть сейчас ситуация такая- продукт стоит 200 рублей, в батах это 100, в корзине значит указывает цену в рублях - 200, а в письме цена в батах, но с символом рубля. И получается в письме: напротив продукта цена 100 рублей, а в графе итого - 200. Скрин - https://yadi.sk/i/TM-qGNnjg8zf7
За это отвечает переменная $order_info['currency_value'], которая передается последней в функцию format, в ней содержится коэффицент валюты на который умножается стоимость товара. Для того чтобы все работало правильно нужно узнать какой коэффицент у валюты RUB и передать его в функцию format вместо $order_info['currency_value']. Для получение коэффицента есть функция $this->currency->getValue('RUB'). Т.е. Нужно заменить $order_info['currency_value'] на $this->currency->getValue('RUB')
Спасибо большое, это сработало)) только хочу уточнить - там было семь пунктов $order_info['currency_value'], которые я заменил на $this->currency->getValue('RUB')[/quote] - нечего плохого не будет в том, что я именно все семь заменил?
- нечего плохого не будет в том, что я именно все семь заменил?[/quote] хз. Скорей всего будет. Рекомендую заменить только в коде, который я писал в начале темы, т.е. в price и total.