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

[Решено?..] Как добавить вес на странице товара?


vipkovaleva

Recommended Posts

Подскажите, пожалуйста, как добавить вес, чтоб отображался на странице товара (версия OpenCart 2.0.1.1)? Причем есть товар, у которого вес, а которого объем, соответственно и единицы измерения разные, г. и мл.

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


Погуглить я и без вас уже погуглила, это не то что надо, не работает! Там дан код для версий 1.5, 2.0, похоже, сильно отличается, т.к. в шаблонах даже нет тех строк, что нужно найти и заменить. Единственное, что я смогла сделать — это вывести объем и миллилитры, там же где надо граммы, опять же объем только и можно указать. В админке же можно выбрать меры веса, значит есть возможность на разных страницах показывать разные значения. Но как это сделать, вот вопрос?

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


Принцип!!! А не копипаст!

 

 

В админке же можно выбрать меры веса, значит есть возможность на разных страницах показывать разные значения. Но как это сделать, вот вопрос?

 

Есть. А вот вывод только для тех кому это нужно.

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

Принцип!!! А не копипаст!

 

 

Есть. А вот вывод только для тех кому это нужно.

Я понимаю, что тут вы тут соревнуетесь кто круче, только мне это мало интересно. Скажите, просто, какая переменная отвечает за вывод единицы веса или вы сами не знаете?

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


Мне на мою крутость - как с высоты..., впрочем и вам тоже.

 

По ссылкам - все есть, в том числе и переменные.

 

Принцип тот же

 

Вот я вам скажу какую переменную взять куда вставить, а у вас совсем не то, что есть - и я же буду виноват?

 

Поэтому - есть аналогичные решения, вы хотите это сделать самостоятельно. Делайте. все исходные данные есть.

 

1. Данные о весе есть в модели

2. Этих данных нет в контроллере - их нужно добавить

2 Этих данных нет в шаблоне - их нужно добавить в нужное место

 

Вес по английски - weight

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

тоже мучаюсь с выводом единицы измерения веса.

 

Сделала по двум описаниям:

 

http://www.cleverscript.ru/snippets/edinitsyi-izmereniya-tovara-v-opencart.html#.VUkwVvntlBc

 

и http://cartopen.ru/index.php?route=product/product&product_id=21

 

Первый вариант аккуратнее. Выводятся размеры, но вот вес не выводится ни в 1м ни во 2м варианте. Функции getUnit из файлов библиотеки сравнила, они идентичны, но при этом размеры есть, а веса нет.

Тему обсуждали уже неоднократно и похоже, что кроме "костылей", решения найдено не было. Если кто нашел решение, напишите, пожалуйста.

 

из контроллера:

$this->data['weight'] = round($product_info['weight'], 3).' '.$this->weight->getUnit($product_info['weight_class_id']);
$this->data['length'] = round($product_info['length'], 3).' '.$this->length->getUnit($product_info['length_class_id']);
$this->data['width'] = round($product_info['width'], 3).' '.$this->length->getUnit($product_info['length_class_id']);
$this->data['height'] = round($product_info['height'], 3).' '.$this->length->getUnit($product_info['length_class_id']);

а в tpl вот:

 

<?php if ($weight > 0) { ?>
        <span><?php echo $text_weight; ?></span> <?php echo $weight; ?><br />
        <?php } ?>


<?php if ($length > 0) { ?>
        <span><?php echo $text_dimension; ?></span> <?php echo $length; if(!empty($length)) echo " x "; echo $width; if(!empty($width)) echo " x "; echo $height; ?><br />
        <?php } ?>

все перепробовала, кроме этого "костылька":

 

 

<?php if ($weight_class_id==2) {?>
<?php echo " гр<br />"; ?>
<?php } ?>
<?php if ($weight_class_id==1) {?>
<?php echo ' кг'; ?>
<?php } ?><?php } ?>
 

 

но это же не правильно...
Надіслати
Поділитися на інших сайтах


Заменила. Тоже не помогло :( и кэш почистила.

 

и "костылек" не прикрутился...  :?

 

 

и этот вариант не срабатывает:

<?php if ($weight) { ?><span>Вес:</span> <?php printf ("%.02f",$weight); echo " ".$weight_class; ?><?php } ?>
Надіслати
Поділитися на інших сайтах


изменила последнюю строчку на $weight_class_id  и тоже ругается Undefined variable: weigh_class_id

....

 

уже какой-то прогресс... добавила в контроллер:

$this->data['weight_class_id'] = $product_info['weight_class_id'];

и изменила в tpl:

<?php if ($weight > 0) { ?>
        <span><?php echo $text_weight; ?></span> <?php echo $weight; if(!empty($weight)) echo $weight_class_id; ?><br />
        <?php } ?>
 

 

напечатался просто вес+сам номер ID вместо его содержимого.

 

 

Подскажите, что дописать, что бы вместо номера было значение?

 

в модуле проверяла, там есть weight_class_id

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


не понимаю, речь идет о 2-ой версии?

 

нет там такого

 

$this->data['weight_class_id'] =

 

в шаблон передается

$data['weight_class_id']

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

вывела значение вот так:

 

 
 <?php if ($weight > 0) { ?>
        <span><?php echo $text_weight; ?></span> <?php echo $weight; ?>


<?php if ($weight_class_id==4) {?>
 <?php echo " т. "; ?>
 <?php } ?> 
<?php if ($weight_class_id==3) {?>
 <?php echo " ц. "; ?>
 <?php } ?>
<?php if ($weight_class_id==2) {?>
 <?php echo " гр. "; ?>
 <?php } ?>
 <?php if ($weight_class_id==1) {?>
 <?php echo ' кг.'; ?>
 <?php } ?>




        <?php } ?>

только еще немножко help! Вывелись только граммы и кг, а в локализации добавленные центнер и тонна не отображаются, когда их выбираешь в карточке товара. Почему? Где их id проверить?

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


не понимаю, речь идет о 2-ой версии?

 

нет там такого

 

$this->data['weight_class_id'] =

 

в шаблон передается

$data['weight_class_id']

 

 

ocStore 1.5.5.1.2

 

если я $this-> меняю на $data, то ошибки выдает

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


  • 3 years later...

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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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