OpenCart 2.x — как вывести вес в карточку товара (без модуля)
В далеком 2012 году написала пост о выводе веса в карточку товара для OpenCart 1.5.3.1, и хоть с тех пор прошло довольно много времени, но комментарии к посту все продолжают поступать. Само собой, прекрасно понимаю ажиотаж вокруг этой темы: поле веса и размеров в админке есть, а на странице их не видно, а всем надо) В общем, поскольку обороты набирает уже обновленная версия OpenCart, давайте попробуем добавить в карточку товара графу с весом для новых версий. Все манипуляции буду совершать на opencart 2.0.2.0. Я буду осуществлять вывод веса под выводом модели, вы же выводите вес где хотите, главное, не нарушайте целостность существующего кода.
1. Открываем файл catalog/view/theme/default/template/product/product.tpl и находим строку
1 |
<li><?php echo $text_model; ?> <?php echo $model; ?></li> |
после нее размещаем код с выводом веса
1 2 3 4 5 6 7 8 |
<?php if ($weight>0) { ?><span><?php echo $entry_weight; ?></span> <?php echo round($weight, 2); ?> <?php } ?> <?php if ($weight_class_id == 2) {?> <?php echo $text_weight_2; ?> <?php } ?> <?php if ($weight_class_id == 1) {?> <?php echo $text_weight_1; ?> <?php } ?> |
2. Открываем файл catalog/controller/product/product.php, находим строку (приблизительно 231)
1 |
$data['text_model'] = $this->language->get('text_model'); |
и после нее добавляем
1 2 3 4 |
$data['entry_weight'] = $this->language->get('entry_weight'); $data['weight_class_id'] = $this->language->get('weight_class_id'); $data['text_weight_1'] = $this->language->get('text_weight_1'); $data['text_weight_2'] = $this->language->get('text_weight_2'); |
Чуть ниже находим следующую строчку (≈ 269)
1 |
$data['model'] = $product_info['model']; |
и после нее опять размещаем строчки с весом
1 2 |
$data['weight'] = $product_info['weight']; $data['weight_class_id'] = $product_info['weight_class_id']; |
3. Открываем языковой файл catalog/language/ukrainian/product/product.php и после строки
1 |
$_['text_model'] = 'Модель:'; |
добавляем
1 2 3 |
$_['entry_weight'] = 'Вес:'; $_['text_weight_2'] = 'гр'; $_['text_weight_1'] = 'кг'; |
И в итоге получаем вес в карточке товара.
Будьте внимательны при добавлении нового кода. Удачных всем правок!
Добрый день. Вы бы лучше написали статью о том как вывести вес и артикул в заказах в админку. Так и не ответили ни разу на этот много раз заданный вопрос.
Спасибо автору! регулярно балуете нас всяким полезным :)
Спасибо, Дмитрий за позитивный отзыв!)
Здравствуйте, скажите пожалуйста, если у меня стоит свой шаблон, то где менять нужно в дефаултном шаблоне ?
Нет конечно, в своем шаблоне!
У меня чет не получается, могли бы помочь ?
Да, статьи действительно очень полезные, спасибо за труды. Поменял код как описано выше изменений нет
Если все действительно как описано выше, то попробуйте в админке (admin/index.php?route=extension/modification) обновить.
Спасибо большое, все работает, но есть одно но.
Если в админке вес не указана, то в карточке товара выводиться текст — гр, подскажите пожалуйста, как убрать и этот текст?