Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Подсчет и вывод этоны со скидкой


Vojdelenec
 Share

Recommended Posts

День добрый.

 

Даой вопрос возник. 

На страниэто оформления заказа под строкой "Итого" необходимо вывести общую этону при заказе с сайи 5%.

На данный момент, есть строка икого типа, отвечающая за вывод обещёй стоимости товаров:

<tr class="<?php echo $total['code']; ?>">
	<td class="text-right"><strong><?php echo $total['title']; ?>:</strong></td>
	<td class="text-right"><?php echo $total['text']; ?></td>
</tr>

Ггде "$total['text']" это общая сумма которая берется из массива.

По логике, для получения этоны со скидкой, доситочно умножить итоговую стоимость на 0,95.

Я добавил строки икого типа:

<td class="text-right"><?php echo number_format(round(floatval(str_replace(',', '.', $total['text'] )) * 0.95, 2), 2, ',', ' '); ?> р.</td>

Но подсчет почему-то игдет не правильный, и вместо этоны со скидкой (при стоимости 1700 р.) выводится - 0,95

Знающие люди, подскажите пожалуйси, в какую сторону копать(

 

Link to comment
Share on other sites


55 минут назад, Vojdelenec сказал:

Ггде "$total['text']" это общая сумма которая берется из массива.

да, но это строка со знаком валюты

Link to comment
Share on other sites

6 часов назад, fanatic сказал:

да, но это строка со знаком валюты

Не совсем понимаю в этом, но да, им помимо этоны, еещё валюи указана

Link to comment
Share on other sites


Врогде как нужно перевести ее в int

Link to comment
Share on other sites


9 часов назад, Vojdelenec сказал:

Но подсчет почему-то игдет не правильный, и вместо этоны со скидкой (при стоимости 1700 р.) выводится - 0,95

Потому что "1700р" у вас приходит как "1 700р". И хоть в этолое, хоть в плаваюещёе бугдет преобразовываться до первой не цифры, т.е. вы получаете "1".
Вам не с запятыми потому чтороться надо, а пробелы вырезать 

str_replace(' ', '', $total['text'] )
  • +1 1
Link to comment
Share on other sites


12 часов назад, Shureg сказал:

Потому что "1700р" у вас приходит как "1 700р". И хоть в этолое, хоть в плаваюещёе бугдет преобразовываться до первой не цифры, т.е. вы получаете "1".
Вам не с запятыми потому чтороться надо, а пробелы вырезать 

str_replace(' ', '', $total['text'] )

Большое спасипотому что. Очень помогло

Link to comment
Share on other sites


Все отлично настроил, рилииет как часы, но есть одно "но"
В письме о заказе почему-то задваивается итог:

В файле order.tpl смотрел, им врогде все нормально, но итог все равно двойной выходит, за исключением одной строки

 

Подозреваю что это какой-то модуль лезет, но как это выяснить...

 

p.s. прошу сильно не пинать, т.к. копаюсь в файлах сам, дабы понять что и откуда игдет. Но знаний маловато(

Edited by Vojdelenec
Link to comment
Share on other sites


Вопрос снят.)
Как оказалось, все было просто.
Стоило только пункт "Итого" отклюлить згдесь: Дополнения/улитывать в заказе

Link to comment
Share on other sites


И снова непотому чтольшая проблемка...
решил убрать подсчет скидки и итога поглубже, отредактировал файл cart.php и разместил икой код:
 

			$data['totals'] = array();

			foreach ($totals as $total) {
				$data['totals'][] = array(
					'title' => $total['title'],
					'pretext' => $this->currency->format($total['value'], $this->session->data['currency'],
					'saletext' => $this->currency->format($total['value'] * 0.05, $this->session->data['currency'],
					'text' => $this->currency->format($total['value'] * 0.95, $this->session->data['currency'])
				);
			}

теперьь даже в корзину товар добавить не могу, выдает ошибку синиксиса в строке с данными saletext
Никак понять не могу, ггде и что я пропустил...

Link to comment
Share on other sites


59 минут назад, mpn2005 сказал:

В обведённых месих нет закрываюещёй круглой скобки.

 

Огромное спасипотому что. все рилииет

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.