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

Вес товара округляется


Recommended Posts

Добрый вечер!

OcStore 2.3, в шаблоне реализован вывод веса в карточке товара.

Как сделать так, чтобы вес товара отображался в карточке именно так, как он заполнен во вкладке "Данные" (а не округлялся)? Сейчас, если вес до 0,5 кг - округляется в меньшую сторону и не показывается, а если 0,5 кг и больше - округляется в большую сторону, и выводится в карточке товара(0.5,0.6...0.9 -> 1кг, 1.1,1.2...1.9 ->2кг).

 

Видел на каком-то сайте вес отображался правильно, там был еще установлен модуль опции с вводом количества, не знаю связано ли это с данным модулем.

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


21 час назад, pachol сказал:

шаблоне реализован вывод веса в карточке товара.

вот там и нужно смотреть. там, судя по всему и идет округление.

при сохранении в базу, округления нет.

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

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

вот там и нужно смотреть. там, судя по всему и идет округление.

при сохранении в базу, округления нет.

Ок. Спасибо. Но переменной "round" не нашел в файлах шаблона, которые указаны по этой теме в других ветках форума.

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


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

Но переменной "round" не нашел

round   - это функция

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

1 минуту назад, pachol сказал:

Но не могу найти где прописана функция.

 

В 03.08.2019 в 19:33, pachol сказал:

реализован вывод веса в карточке товара.

в контроллере  товара

catalog/controller/product/product.php

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

34 минуты назад, fanatic сказал:

 

в контроллере  товара

catalog/controller/product/product.php

Функции round нет в этом файле. Поэтому не могу понять - почему округляется. Перечитал весь форум, просмотрел файлы из этих веток. Там тоже нет.

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


смотреть нужно оба файла

и оригинал catalog/controller/product/product.php

и его копию из кеша модификаторов

 

плюс нужно смотреть саму логику формирования веса, round там может и не быть

 

проще всего спросить у автора шаблона, раз это на уровне шаблона реализовано

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

В 05.08.2019 в 23:07, AlexDW сказал:

смотреть нужно оба файла

и оригинал catalog/controller/product/product.php

и его копию из кеша модификаторов

 

плюс нужно смотреть саму логику формирования веса, round там может и не быть

 

проще всего спросить у автора шаблона, раз это на уровне шаблона реализовано

Спросил. Ответили: "Это все идет стандартное с опенкарта."

Вывод в карточке товара.

Вот файлы

system/library/cart/weight.php

public function format($value, $weight_class_id, $decimal_point = '.', $thousand_point = ',') {
        if (isset($this->weights[$weight_class_id])) {
            return number_format($value, 3, $decimal_point, $thousand_point) . $this->weights[$weight_class_id]['unit'];
        } else {
            return number_format($value, 3, $decimal_point, $thousand_point);

 

/admin/controller/catalog/product.php

 

if (isset($this->request->post['weight'])) {
            $data['weight'] = $this->request->post['weight'];
        } elseif (!empty($product_info)) {
            $data['weight'] = $product_info['weight'];
        } else {
            $data['weight'] = '';
        }

        $this->load->model('localisation/weight_class');

        $data['weight_classes'] = $this->model_localisation_weight_class->getWeightClasses();

        if (isset($this->request->post['weight_class_id'])) {
            $data['weight_class_id'] = $this->request->post['weight_class_id'];
        } elseif (!empty($product_info)) {
            $data['weight_class_id'] = $product_info['weight_class_id'];
        } else {
            $data['weight_class_id'] = $this->config->get('config_weight_class_id');

 

catalog/controller/product/product.php Здесь про вес ничего нет.

system/storage/modification/catalog/controller/product/product.php

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

$data['modern_product_weight'] = $this->config->get('modern_product_weight');

 

catalog/view/theme/modern/template/product/product.tpl

<?php if ($weight > 0 && $modern_product_weight !=1 ) { ?>
<li><?php echo $text_weightp; ?> <?php echo $weight; ?></li>

 

system/storage/modification/catalog/view/theme/default/template/product/product.tpl тоже нет про вес.

 

catalog/view/theme/default/template/product/product.tpl тоже нет про вес.

system/storage/modification/catalog/view/theme/default/template/product/product.tpl

<?php if ($weight > 0 && $modern_product_weight !=1 ) { ?>
<li><?php echo $text_weightp; ?> <?php echo $weight; ?></li>

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


  • 8 months later...
В 07.08.2019 в 12:09, pachol сказал:

Спросил. Ответили: "Это все идет стандартное с опенкарта."

Вывод в карточке товара.

Вот файлы

system/library/cart/weight.php

public function format($value, $weight_class_id, $decimal_point = '.', $thousand_point = ',') {
        if (isset($this->weights[$weight_class_id])) {
            return number_format($value, 3, $decimal_point, $thousand_point) . $this->weights[$weight_class_id]['unit'];
        } else {
            return number_format($value, 3, $decimal_point, $thousand_point);

 

/admin/controller/catalog/product.php

 

if (isset($this->request->post['weight'])) {
            $data['weight'] = $this->request->post['weight'];
        } elseif (!empty($product_info)) {
            $data['weight'] = $product_info['weight'];
        } else {
            $data['weight'] = '';
        }

        $this->load->model('localisation/weight_class');

        $data['weight_classes'] = $this->model_localisation_weight_class->getWeightClasses();

        if (isset($this->request->post['weight_class_id'])) {
            $data['weight_class_id'] = $this->request->post['weight_class_id'];
        } elseif (!empty($product_info)) {
            $data['weight_class_id'] = $product_info['weight_class_id'];
        } else {
            $data['weight_class_id'] = $this->config->get('config_weight_class_id');

 

catalog/controller/product/product.php Здесь про вес ничего нет.

system/storage/modification/catalog/controller/product/product.php

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

$data['modern_product_weight'] = $this->config->get('modern_product_weight');

 

catalog/view/theme/modern/template/product/product.tpl

<?php if ($weight > 0 && $modern_product_weight !=1 ) { ?>
<li><?php echo $text_weightp; ?> <?php echo $weight; ?></li>

 

system/storage/modification/catalog/view/theme/default/template/product/product.tpl тоже нет про вес.

 

catalog/view/theme/default/template/product/product.tpl тоже нет про вес.

system/storage/modification/catalog/view/theme/default/template/product/product.tpl

<?php if ($weight > 0 && $modern_product_weight !=1 ) { ?>
<li><?php echo $text_weightp; ?> <?php echo $weight; ?></li>

Я сделал так:

1) www/сайт.ru/system/aridius_modern.ocmod.xml

    Нашел 968 строчке 

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

   Заменил на 

        $data['weight'] = $product_info['weight'];

 

2) www/сайт.ru/catalog/view/theme/modern/template/product/product.tpl

   Нашел 306 строчке

        <li><?php echo $text_weightp; ?> <?php echo $weight; ?> </li>

  Написал "кг" после <?php echo $weight; ?>. Получилось так

        <li><?php echo $text_weightp; ?> <?php echo $weight; ?> кг</li>

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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