Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Где формируется переменная product['price'] ?


eXec

Recommended Posts

Всем добра!

 

Суть в том, что мне нужно произвести кое-какие манипуляции с ценой при выводе, но в tpl файлах эта переменная находится в виде строки (например '290 р.'). Как сделать чтобы она была в виде числа, т.е. в том виде в, котором она хранится в базе?

Надіслати
Поділитися на інших сайтах


в соответствующем контроллере убрать $this->currency->format( ... )

 

как пример

$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
$this->data['price2'] = $this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'));

в $price2 будет неформатированная цена

Надіслати
Поділитися на інших сайтах

Спасибо. Уже полдела. Только 2 нюанса:

 

1. Эти строки присутствуют только в контроллере product.php, а в контроллерах search.php и category.php непонятно где формируется цена.

2.. Не учитывается текущий коэффициент валюты. У меня указана цена 2000 и коэффициент валюты 2. Фактическая цена 4000. Хотелось чтобы этот фактор учитывался, т.е. из '4000 р.' сделать просто 4000.

 

Помогите разобраться пожалуйста.

Надіслати
Поділитися на інших сайтах


пример - это именно пример, в котором ключевой момент - обрамление в $this->currency->format(...)

сами переменные могут отличаться

 

возможно, проще всего будет (это тоже пример!)

$price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));

$price2 = (string)((int)$price);

Надіслати
Поділитися на інших сайтах

не трогайте библиотеки, если не хотите головных болей в дальнейшем

 

верните как было и используйте в нужном контроллере способ с $цена_без_префиксов = (string)((int)$цена);

Надіслати
Поділитися на інших сайтах

Я ничего глобального там не менял, просто поменял строку

 

public function format($number, $currency = '', $value = '', $format = true)

 

на

 

public function format($number, $currency = '', $value = '', $format = false)

 

А в контроллерах я так и не разобрался пока. В контроллере search.php формирование цены вообще отсутствует, а в шаблоне search.tpl цена берется из массива $product, который вроде как формируется в product.php, но внесение изменений в него никак не отображается в шаблоне search.tpl

Вот такая ерунда.

Надіслати
Поділитися на інших сайтах


А в контроллерах я так и не разобрался пока. В контроллере search.php формирование цены вообще отсутствует, а в шаблоне search.tpl цена берется из массива $product, который вроде как формируется в product.php, но внесение изменений в него никак не отображается в шаблоне search.tpl

Вот такая ерунда.

откройте контроллер search.php и выполните поиск по $this->currency->format

Надіслати
Поділитися на інших сайтах

Так тоже сработало, но осталась вторая проблема:

Не учитывается текущий коэффициент валюты. У меня указана цена 2000 и коэффициент валюты 2. Фактическая цена 4000. Хотелось чтобы этот фактор учитывался, т.е. из '4000 р.' сделать просто 4000.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.