Jump to content
Sign in to follow this  
eXec

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

Recommended Posts

Всем добра!

 

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

Share this post


Link to post
Share on other sites

в соответствующем контроллере убрать $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 будет неформатированная цена

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

Share this post


Link to post
Share on other sites

пример - это именно пример, в котором ключевой момент - обрамление в $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);

Share this post


Link to post
Share on other sites

Разобрался. Нужно было функцию format подправить в файле system/library/currency.php

 

Все равно большое спасибо, Вы дали верное направление где копать.

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.