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

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


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, как было и сказано в других темах, но все равно выводит после точки нули

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


в 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
Надіслати
Поділитися на інших сайтах

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

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


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

где именно?

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

Змінено користувачем AndP
Надіслати
Поділитися на інших сайтах


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

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


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

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

 

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

 

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

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

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


В \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>

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

Змінено користувачем AndP
Надіслати
Поділитися на інших сайтах


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

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

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

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


  • 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 } ?>

 

 

 

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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