Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

[Решено] Убрать нули в весе


Recommended Posts

Как убрать нули в весе? Сейчас допустим 400г, выводит как 400.00000000
Открыл файл по адресу \catalog\controller\product\product.php
Там изменил строчки:

return number_format($value, 0, $decimal_point, $thousand_point) . ' ' . $this->weights[$weight_class_id]['unit'];

return number_format($value, 0, $decimal_point, $thousand_point);

2 поменял на 0, как было и сказано в других темах, но все равно выводит после точки нули

Link to post
Share on other sites

в catalog\controller\product\product.php стандартно такого нет

с весом работает родная библиотека движка system\library\cart\weight.php

 

пробуйте кеш модификаторов обновить после правок

 

и способ с заменой числа знаков на 0 хорош только если у вас во всем магазине для товаров одна-единственная единица веса используется

если больше - будет проблема

 

т.е. к примеру 400.00 г - уберет знаки после запятой, все ок

но при весе 1.5 кг - также уберет знаки, что уже плохо

 

лучше в system\library\cart\weight.php

заменить строки

return number_format($value, 2, $decimal_point, $thousand_point) . $this->weights[$weight_class_id]['unit'];

return number_format($value, 2, $decimal_point, $thousand_point);

на

return preg_replace("/\.00/", "", number_format($value, 2, $decimal_point, $thousand_point) . $this->weights[$weight_class_id]['unit'] );

return preg_replace("/\.00/", "", number_format($value, 2, $decimal_point, $thousand_point) );

будет убирать .00 из веса

  • +1 1
Link to post
Share on other sites
15 минут назад, AlexDW сказал:

в catalog\controller\product\product.php стандартно такого нет

с весом работает родная библиотека движка system\library\cart\weight.php

Извиняюсь, случайно не тот путь написал) да я по этому пути изменения вносил в файл.

У меня в граммах все, поэтому ничего страшного не будет.
 

16 минут назад, AlexDW сказал:

лучше в system\library\cart\weight.php

заменить строки


return number_format($value, 2, $decimal_point, $thousand_point) . $this->weights[$weight_class_id]['unit'];

return number_format($value, 2, $decimal_point, $thousand_point);

на


return preg_replace("/\.00/", "", number_format($value, 2, $decimal_point, $thousand_point) . $this->weights[$weight_class_id]['unit'] );

return preg_replace("/\.00/", "", number_format($value, 2, $decimal_point, $thousand_point) );

будет убирать .00 из веса

Но попробовал так сделать, модификатор обновил, все равно вес показывает с кучей нулей, выводит так же 400.00000000

Link to post
Share on other sites

2 минуты назад, AlexDW сказал:

где именно?

Изменения тут вносил: system\library\cart\weight.php
А вывод веса в самой карточке товара

Edited by AndP
Link to post
Share on other sites

Все понял, это в корзине меняется вес, без нулей становится. А тогда где надо рыть, чтобы именно в карточке товара выводило так же без нулей лишних?

Link to post
Share on other sites

Только что, AndP сказал:

вывод веса в самой карточке товара

 

если речь про витрину - стандартно вес на странице товара не выводится, ищите как именно у вас его вывод сделан

 

если про админку - число знаков после запятой в админке выводится в зависимости от типа хранения данных в БД, если указано DECIMAL(15,8) - так и выводит 8 знаков после запятой. соответственно, если хотите изменить - нужно сам формат данных в БД менять

Link to post
Share on other sites

Все, спасибо, разобрался.


В \catalog\controller\product\product.php добавил код:

$data['text_weight'] = $this->language->get('text_weight');
$data['weight'] = number_format($product_info['weight'], 0).''.$this->weight->getUnit($product_info['weight_class_id']);

и в \catalog\view\theme\default\template\product\product.twig добавил такой код:

<li>{{ weight }}</li>

Может кому надо будет ^_^

Edited by AndP
Link to post
Share on other sites

  • 2 years later...
В 26.10.2017 в 18:43, AndP сказал:

Все, спасибо, разобрался.


В \catalog\controller\product\product.php добавил код:


$data['text_weight'] = $this->language->get('text_weight');
$data['weight'] = number_format($product_info['weight'], 0).''.$this->weight->getUnit($product_info['weight_class_id']);

и в \catalog\view\theme\default\template\product\product.twig добавил такой код:


<li>{{ weight }}</li>

Может кому надо будет ^_^

Пригодился. Большое спасибо!

Link to post
Share on other sites

  • 9 months later...
В 26.10.2017 в 11:13, AndP сказал:

Как убрать нули в весе? Сейчас допустим 400г, выводит как 400.00000000
Открыл файл по адресу \catalog\controller\product\product.php
Там изменил строчки:


return number_format($value, 0, $decimal_point, $thousand_point) . ' ' . $this->weights[$weight_class_id]['unit'];

return number_format($value, 0, $decimal_point, $thousand_point);

2 поменял на 0, как было и сказано в других темах, но все равно выводит после точки нули

 

 

 

Все просто, это заодно еще и добавить вес в категории товара

 

<?php  $wes= trim(number_format($wes, 2, ' ', ' '), '0.'); ?>
                              
                              
                <?php if ($wes>0) { ?><span><?php echo $text_weigo; ?> </span><?php echo $wes; ?> <?php echo $text_gram; ?><br/>
                             <?php } ?>

 

 

 

Link to post
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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • 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.