тоже мучаюсь с выводом единицы измерения веса.
Сделала по двум описаниям:
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 } ?>
но это же не правильно...