OpenCart — как добавить вес, размеры и артикул в карточку товара
По умолчанию в магазине OpenCart в карточке товара выводится следующая информация: модель, налоги, наличие и цена.
Можно добавлять различные опции, но иногда необходимо отобразить те же, к примеру, вес и размеры, не в опциях, а непосредственно в карте товара. И хотя для этих характеристик в админ-панели отведены соответствующие поля, все же они в магазине не отображаются.
Все эти характеристики можно вывести на странице товара просто добавив несколько строк в код трех файлов магазина. Теперь давайте рассмотрим весь процесс по порядку.
Версия OpenCart 1.5.3.1., тема по умолчанию.
1. Открываем файл, который отвечает за карточку товара, — catalog/view/theme/default/template/product/product.tpl и ищем строки вывода модели товара
1 |
<?php } ?><span><?php echo $text_model; ?></span> <?php echo $model; ?><br /> |
после них добавляем строки для вывода веса
1 2 3 |
<?php if ($weight>0) { ?><span><?php echo $text_weight; ?></span> <?php echo round($weight, 2); ?> <?php if ($weight) { ?> <?php } ?> |
Где ?php if ($weight>0) { ? отвечает за то, чтобы вес на странице товара отображался лишь в том случае, если он больше «0». Если в данных товара поле «вес» будет не заполнено, то информация о весе на странице товара не отобразится.
2. Переходим к файлу catalog/controller/product/product.php и ищем строку
1 |
$this->data['text_model'] = $this->language->get('text_model'); |
после нее добавляем
1 |
$this->data['text_weight'] = $this->language->get('text_weight'); |
Немного ниже находим следующую строку
1 |
$this->data['model'] = $product_info['model']; |
и опять после нее добавляем код, который относится к весу
1 |
$this->data['weight'] = $product_info['weight']; |
3. Теперь переходим к файлу, отвечающему за украинский язык — catalog/language/ukrainian/product/product.php, и после
1 |
$_['text_model'] = 'Модель:'; |
добавляем
1 |
$_['text_weight'] = 'Вес:'; |
4. Для того, чтобы после цифр выводились «граммы» или «килограммы», сразу же, за тем кодом, что мы добавили в самом начале, в файле catalog/view/theme/default/template/product/product.tpl, добавляем следующие строки:
1 2 3 4 5 6 |
<?php if ($weight_class_id==2) {?> <?php echo " гр<br />"; ?> <?php } ?> <?php if ($weight_class_id==1) {?> <?php echo ' кг'; ?> <?php } ?><?php } ?> |
В файле catalog/controller/product/product.php, после строк добавленных нами
1 |
$this->data['weight'] = $product_info['weight']; |
добавляем следующий код:
1 |
$this->data['weight_class_id'] = $product_info['weight_class_id']; |
И теперь, заполняя поле вес в админ-панели, мы будем видеть на странице товара указанный нами вес:
Аналогичным образом можно вывести в карту товара артикул и размеры (длина, ширина, высота) товара. Переменные для этих значений:
- length — длина
- width — ширина
- height — высота
- sku — артикул
Учитывая частые просьбы о помощи в добавлении размеров в карту товара, дополним пост и рассмотрим этот момент подробнее.
Итак, нам необходимо вывести размеры товара: длину, ширину и высоту. Действовать мы будем точно также, как и при добавлении веса в карту товара.
Открываем файл catalog/view/theme/default/template/product/product.tpl
и в необходимом месте, например, после вывода веса, добавляем следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php if ($length>0) { ?><span><?php echo $text_length; ?></span> <?php echo round($length, 2); ?> <?php echo " см<br/>"; ?> <?php if ($length_class_id==1) {?> <?php } ?><?php } ?> <?php if ($length) { ?> <?php } ?> <?php if ($width>0) { ?><span><?php echo $text_width; ?></span> <?php echo round($width, 2); ?> <?php echo " см<br/>"; ?> <?php if ($width_class_id==1) {?> <?php } ?><?php } ?> <?php if ($width) { ?> <?php } ?> <?php if ($height>0) { ?><span><?php echo $text_height; ?></span> <?php echo round($height, 2); ?> <?php echo " см<br/>"; ?> <?php if ($height_class_id==1) {?> <?php } ?><?php } ?> <?php if ($height) { ?> <?php } ?> |
Теперь, открываем второй файл, с которым мы работаем — catalog/controller/product/product.php, и после строки, отвечающий за вывод веса,
1 |
$this->data['text_weight'] = $this->language->get('text_weight'); |
добавляем следующие строки:
1 2 3 |
$this->data['text_length'] = $this->language->get('text_length'); $this->data['text_width'] = $this->language->get('text_width'); $this->data['text_height'] = $this->language->get('text_height'); |
Спускаемся немного ниже и, опять таки, ищем строки с весом,
1 |
$this->data['weight'] = $product_info['weight']; |
после которых добавим аналогичные строки, но только с необходимыми для нас высотой, длиной и шириной:
1 2 3 |
$this->data['length'] = $product_info['length']; $this->data['width'] = $product_info['width']; $this->data['height'] = $product_info['height']; |
Всем удачной правки и красивых карт товара!)
Дополнение.
Для того, чтобы размеры в карточке товара отображались в строку:
В product.tpl добавляем:
1 2 3 4 5 6 7 8 9 10 11 |
<span><?php echo $text_dimension; ?></span> <?php if ($length>0) { ?> <?php echo round($length, 2); ?> <?php echo " см х "; ?><?php } ?> <?php if ($length) { ?><?php } ?> <?php if ($width>0) { ?> <?php echo round($width, 2); ?> <?php echo " см х"; ?><?php } ?> <?php if ($width) { ?><?php } ?> <?php if ($height>0) { ?> <?php echo round($height, 2); ?> <?php echo " см"; ?><?php } ?> <?php if ($height) { ?><?php } ?> <br> |
В product.php:
1 2 3 |
$this->data['text_length'] = $this->language->get('text_length'); $this->data['text_width'] = $this->language->get('text_width'); $this->data['text_height'] = $this->language->get('text_height'); |
и
1 2 3 |
$this->data['length'] = $product_info['length']; $this->data['width'] = $product_info['width']; $this->data['height'] = $product_info['height']; |
В языковой файл product.php добавьте строку
1 |
$_['text_dimension'] = 'Размеры:'; |
Доброй ночи, просидела 4 часа, никак не смогла добиться корректной работы, выдает ошибку. Мне нужно именно по этой схеме чтобы выводилась категория «Цвет» и «Состав». Экспериментировала именно по вашей схеме с весом, т.к. он заполняется в админке понимаю что нужные мне характеристики еще сложнее привязать, но и вес не получилось, не пойму где ошибка.
Спасибо, jul, очень подробная инструкция, но где-то косяк, а может уже и у меня в голове.
Наталья, здравствуйте. Опишите, что за ошибка появляется после проделанных действий. Прошерстила весь код, который разместила в посте касательно добавления веса, на наличие ошибок, и единственное, что заметила, так это то, что кавычки после копирования и добавления в документ принимают иной вид. Происходит это именно в пункте 2 с (‘text_weight’). Так что, если у Вас ошибка возникала именно по этой причине (в коде сразу видно, что не те кавычки, так как редактор подсвечивает переменную не тем цветом), то достаточно просто изменить кавычки на прямые.
А вот те же Цвет и Состав можно спокойно выводить в опциях, не прибегая к копанию в коде. Если же этот варант не подходит, то гораздо проще изменить существующие поля (например, UPC или Расположение) на те, которые Вам нужны.
Желаю, чтобы Ваши старания увенчались успехом!
Добрый день!
Скажите, а как в самой админке переименовать то же «UPC» или «расположение» соответственно в «материалы», например, или что-то другое?
Правьте файл admin/language/ukrainian/catalog/product.php
Да, именно из-за скобок была ошибка, а так получилось все ок, спасибо. Но вот возникает вопрос — я в атрибутах описываю состав и, получается еще вместо UPC настроила чтобы выдавал состав товара. А вот найти чтобы забивать, например в админке просто атрибут — состав- и чтобы он отражался одновременно внизу карточки товара и сбоку где модель — не нашла, или хотябы только справа в карточке товара.
Спасибо за быстрый отзыв, я и не надеялась что возможно так быстро получить ответ и еще за такие приятные пожелания.
Наталья, простите, но не пойму в чем суть проблемы…
В атрибутах (ниже самого товара) покупателям виден состав товара, поле «UPC» Вы переделали под «Состав», то есть в карточке товара состав также отображается, где же он еще требуется? Если вопрос касался единого поля в админке, при заполнении которого, состав мог бы отобразиться и в карте товара и ниже под товаром, то да, такого поля, к сожалению, просто нет.
Ваш магазин доступен для просмотра или он у Вас на локалхосте? Было бы проще понять Вашу проблему, если бы можно было увидеть картинку.
P.S. Хорошо, что с «весом» разобрались))
jul, после того как делаю 4 пункт страница слетает, мне срочно надо сделать чтобы выводились кг и граммы. Помогите пожалуйста
Здравствуйте, Vlad. Если проблема еще актуальна, то опишите ее подробней: какая ошибка появляется, что не работает и т.д.
https://savepic.org/2559197.png мне надо чтобы напротив веса выводило гр, кг, еще в админке добавил таблетки и капсулы, то есть вес будет в гр,кг,таблетки,купсулы.
Когда начинаю делать последний пункт сразу возникает такая проблема:
Parse error: syntax error, unexpected T_STRING, expecting ‘,’ or ‘;’ in /home/ismys157/domains/сайт.ру/public_html/catalog/view/theme/default/template/product/product.tpl on line 39
Код в пункте 4 только что обновлен, попробуйте его использовать в своем документе вместо предыдущего. Ошибка появлялась из-за неверных кавычек (редактор по какой-то причине их меняет). Если же и с новым кодом останется та же проблема (хотя ее быть не должно), то вручную измените кавычки, используя английскую раскладку.
Копировал, сам писал скобки, не получается
https://savepic.org/2601027.htm
Ответила Вам на e-mail.
Отличная статья. С весом все ОК. Не подскажете, как сделать чтобы цена тоже отображалась только если она >0 ? Попробовал в catalog/view/theme/default/template/product/product.tpl также как с весом ?php if ($price>0) { ? Но цена исчезает вообще, даже если поле заполнено.
Спасибо.
С вопросом о цене не сталкивалась, как-то еще не интересовал подобный вопрос, так что, к сожалению, не могу подсказать как это реализовать.
после всех установок все работает кроме картинки товара, открывается в новой странице как wp, что делать? помогите если можете
Вы корректно добавили код в product.tpl? В нем находится код, отвечающий за вывод pop up окна миниатюры.
Подскажите и мне пожалуйста. Сделал все так же как и в статье и у Vlad, тоже вес показывает но не пишет что это кг. как добавить чтоб писало?
Андрей, Вы корректно разместили код в своих файлах? У Vlada, к примеру, была пропущена часть кода, отвечающая за вывод «гр/кг». Проверьте пошагово проделанные изменения, если все же не найдете ошибку, пишите, помогу с кодом.
А как вывести размеры товара на странице категорий и главной? $products[$j][‘length’]; не работает
Верно, таким способом вес в категории не вывести, но к сожалению, и положительного ответа как это сделать, я не дам — для меня это нечто новое, обязательно разберусь, но на данный момент не знаю как это реализовать посредством кода. Но можно попробовать этого добиться с помощью модуля Product Display Settings vqmod.
Приветствую) Отличная статья) всё вышло просто прекрасно)
Есть вопрос (как выше) по поводу вывода веса во всех товарах. категориях и производителях) так же ещё в других модулях.. в тойже карзине к примеру и в модуле быстрого просмотра))
Вес у меня обозначен Объёмом т.к. ИМ парфюмерный,
Так же *Модель* переименовал в *Состав* вывести бы и его во все товары, категории и производители.
Суть в том. что во всех товарах, категориях и производителях, по умолчанию переделано сеткой, и немного изменен дизайн. по типу списком но в два ряда)
Пытаюсь экспериментировать.. но пока безрезультатно))
Спасибо.
Что касается вывода характеристик опций не только в карте товара, но и в категориях, например, то для этой цели можно использовать модуль Product Display Settings vqmod, который автоматически выведет необходимые данные на нужных страницах.
Спасибо) я заметил его постом выше) Виноват, не полностью осветил ситуацию… хочца без вмешательство через VQмод, так сказать ручками) не очень советуют использовать его…
Поэксериментирую и позже добавлю пост о добавлении вышеупомянутых характеристик кодом, а не посредством модулей.
А что касется модуля, на который я дала ссылку, то не знаю насколько он хорош, знакома с ним только теоретически, а вот о самом vqmod плохое сказать сложно — отличная разработка для OpenCart.
Спасибо огромное за помощь. Практически всё получилось, но есть несколько нюансов, с которыми не получается справиться:
1. Добавил длину, ширину, высоту и вес и всё это у меня вывело в 1 строку, а не каждый показатель на отдельной, как хотелось бы…
2. Также только в длине вывелись «см» и в весе «кг», а ширина и высота — без опознавательных знаков. Хотя все блоки абсолютно одинаковые — делал по Вашему образцу…
Буду признателен за подсказку — как это всё и справить…
Ответила на e-mail.
Спасибо большое за помощь! Всё получилось!
Всё очень оперативно и качественно!
Спасибо за отзыв! Удачи с магазином!
Такая же проблема ширина и высота сиротами остались. Может выложите здесь
Сергей, запись дополнена. Удачи!
Помогите пожалуйста -все перепробовал уже — не работает длина, высота и ширина(((((
сделал уже по-разному — не понимает переменную, хотя делаю все по инструкции. если можно — ответьте на почту пожалуйста, полдня потратил, а не получается…
спасибо.
Ответила на почту.
Такая же проблема как и у Андрея выше
Длинна с “см”, а ширина и высота – без опознавательных знаков. Помогите пжл
Если Ваша проблема заключалась исключительно в ширине и высоте, то я Вам ответила выше — необходимую информацию добавила в пост. Если же нет, то можете описать проблему подробнее и я постараюсь помочь с ней разобраться.
Да спасибо
Приветствую всех!
Все сделал все выводиться но наверху страницы ругается:
Notice: Undefined index: width_class_id in catalog/controller/product/product.php on 204
Undefined index: height_class_id in catalog/controller/product/product.php on line 205
в этих строках все прописано:
$this->data[‘width_class_id’] = $product_info[‘width_class_id’];
$this->data[‘height_class_id’] = $product_info[‘height_class_id’];
Что делать? ;)
Добрый вечер, Max!
А по какой причине у Вас в этих строках прописано ‘width_class_id’ и ‘height_class_id’? По этой причине может возникать ошибка, о которой Вас и оповещает движок.
Пропишите просто ‘width’ и ‘height’.
Добрый день!!! Так и не решил проблему Undefined index: height_class_id in
Версия 1.5.5.1.1, шаблон не дефолтный
C 1.5.5.1 не работаю. Уберите строки с идентификатором.
сделал как описано, но на странице выдает ошибку:
Notice: Undefined variable: length_class_id in catalog/view/theme/theia/template/product/product.tpl on line 34 text_width 1.3 см
Notice: Undefined variable: width_class_id in catalog/view/theme/theia/template/product/product.tpl on line 41
Подскажите, пожалуйста, как побороть?
Здравствуйте, Александр. Как у Вас обстоят дела с длиной и шириной? Разобрались с проблемой? Если нет, то напишите, постараюсь помочь.
Здравствуйте, у меня такая же ошибка вылезает:
Длина: 47 см Notice: Undefined variable: length_class_id in /var/www/сайт.com.ua/vqmod/vqcache/vq2-catalog_view_theme_default_template_product_product.tpl on line 323
Высота: 37 см Notice: Undefined variable: height_class_id in /var/www/сайт.com.ua/vqmod/vqcache/vq2-catalog_view_theme_default_template_product_product.tpl on line 343
Не используйте строки с «class_id» и не забудьте про закрывающие теги.
В /catalog/controller/product/product.php после строк
$this->data[‘weight_class_id’] = $product_info[‘weight_class_id’];
прописать
$this->data[‘length_class_id’] = $product_info[‘length_class_id’];
$this->data[‘width_class_id’] = $product_info[‘width_class_id’];
$this->data[‘height_class_id’] = $product_info[‘height_class_id’];
Александр, просто уберите одно равно из
должно получиться
далее везде.
То же с этим голову ломал (я не спец в программировании), но методом научного тыка нашел ошибку. :))))
Денис, если Вы хотели помочь Александру, указав на какую-то ошибку в коде, и разместили код непосредственно в комментарии, то, как можете в этом сами убедиться, Вам это не удалось — код не отображается. Его необходимо размещать не в обычных тегах, а например, в квадратных скобках.
Извиняюсь!
В общем не знаю как вставить – смотрите в catalog/view/theme/default/template/product/product.tpl в классе id – после него два знака равно. Работает с одним.
нужно убрать один знак равно.
jul — огромное спасибо за статью !!!!!!
Но проверьте пожалуйста код. У меня лично не работал при двух знаках равно, а вот при одном всё замечательно заработало.
Спасибо, Денис за комментарий.
Во всех магазинах, которые я делала, и в которых требовалось вывести опции веса, длины и т.д., я использовала именно такой код, который здесь же и выложила:
[?php if ($length_class_id==1) {?]
то есть с двойным знаком равенства (оператор сравнения).
Можно поинтересоваться, какую ошибку Вам выдает с использованием «==»? И какая версия OpenCart?
Но главное, что у Вас получилось разобраться с проблемой!
и да, ошибка выдается, т.к. стоит неверный знак «==». Проверял на 1.5.4.1
Вообще весьма интересная реализация. Можно немного критики?
Для чего вы выводите текстовые переменный в отдельный файл, и тут же используете вывод голого текста «см»?
Тогда уж подключаем новую текстовую переменную: text_size и пропишем ее везде:
1/ вместо <?php echo " см»; ?> пишем
2/ в контроллере добавляем $this->data[‘text_size’] = $this->language->get(‘text_size’);
и ессно в языковом файле добавляем
$_[‘text_size’] = ‘см';
Сергей, критика всегда только приветсвуется, главное, чтобы она была конструктивной.
Спасибо, что предложили чистый вариант кода — удобный вариант.
А что касается ошибки, то знак вполне себе верный (был бы он неверным, этого кода здесь бы не было, и мои магазины вместо отображения необходимых данных, выдавали бы ошибку), а вот версия уже не та, выше я писала, что данный код актуален для версии 1.5.3.1.
Да не за что !
OcStore 1.5.4.1 + шаб от темфореста.
Ошибку сейчас и не помню, но помню, что забив её в поисковик(гугли) увидел кучу ссылок на такую же проблему.
В посте я всегда пишу на какой версии применимы действия. Что касается данной темы, то все вышеописанные действия я использовала на версии 1.5.3.1. Вполне возможно, что это момент и оказывает решающее значение в верности или неверности кода.
Здравствуйте! SKU Вы добавили только в product.tpl. А не подскажете, как добавить в базу данных существующего магазина параметр sku наряду с model, id и другими? Opencart 1.5.4.1…
Извините, но не совсем улавливаю суть вопроса. SKU и так есть в БД, хотя утверждать ничего не буду на счет версии 1.5.4.1 (до сих пор пользуюсь версией 1.5.3.1), но было бы весьма странно, если бы артикула не было в этой версии по умолчанию.
Если я Вас неверно поняла, перефразируйте вопрос.
Приветствую категорически!
Спасибо за объяснение хака, я сегодня первый раз открыл опенкарт и тут такая удача — Ваша статья, но имхо в пункте 1 в первой строке ошибка: не хватает закрывающейся фигурной скобки и тега BR.
Я вообще написал так:
Спасибо за замечание!
А вот то, как Вы написали движок «съел» — в кооменте он не сохранился… Код бы следовало обрамить звездочками.
Буду рада увидеть Ваш код!
Спасибо, огромное! Все получилось. А как можно добавить мл. шт. капс. табл.? ocstore 1.5.4.1
И Вам спасибо за отзыв! Что касается мл. шт. капс. табл., то их можно отобразить таким же образом, как и вес. Если Вам необходимо, чтобы вместо кг и гр отображались другие параметры, то просто прописывайте их вместо указанных в статье.
Всегда проще использовать уже существующие, но не используемые поля в админке, чем создавать новые.
В том то и дело, что нужны граммы, миллилитры, штуки, таблетки и капсулы. Магазин спортивног питания. Т.е. Вы предлагаете переименовать поля UPC, EAN, JAN, ISBN, MPN. и вывести в карточку товара?
А почему и нет? Зачем готовым параметрам пустовать и создвать нечто новое, если можно использовать уже существующие?
Главное каждому параметру задать вывод только в том случае, если он больше «0», чтобы пустое поле не выводилось там, где в нем нет надобности.
Спасибо огромное за подробнейшее описание. Возможно жто была моя большая ошибка и я стал делать аналогичные действия, чтобы вывести графу «расположение» (location) в карточку товара. Вроде все делал пошагово, но где-то допустил ошибку и теперь сайт пишет постоянные ошибки
Parse error: syntax error, unexpected ‘}’ in /home1/pokupaio/public_html/catalog/view/theme/bt_venous/template/product/product.tpl on line 35
Михаил, спасибо за отзыв. По большому счету, Вам, для того, чтобы вывести поле «Расположение» в карточку товара, и моя статья не нужна была. Это делается буквально в четыре клика. В файле product.tpl находите строку с выводом модели (как в статье, в первом шаге) и размещаете точно такую же строку, там где Вам необходимо и вместо model прописываете location. Затем в product.php находите строки с весом:
$this->data[‘text_model’] = $this->language->get(‘text_model’); и
$this->data[‘model’] = $product_info[‘model’];
и опять таки, создаете аналогичные для location. Последнее, что потребуется сделать — в файле рус. локализации задать перевод для text_location.
Все верно, только в файле локализации идет связка с entry_location, а не text_location. Соответственно и действия аналогичные вышеобозначенным в статье проводим с entry_location
/На всякий случай тем, у кого не получится.
Спасибо за дополнение и замечание.
Кстати, мож кому пригодится — если нужно прописывать в этих строчках ещё и буквы или знаки, то лучше «клонировать» строчку отвечающую за вывод модели. Потому как в тех строчках, что получились, этого сделать не получится. Делал как в инструкции + поправил файл в админке admin/language/ukrainian/catalog/product.php.
Я ещё использовал окошки для вывода EAN, UPC, JAN, что б не простаивали. Делал по аналогии с инструкцией выше.
У меня 1.5.4.1 + шаб навороченный.
Верное решение, так как модель предусматривает вывод различных символов, а тот же вес, например, должен выводить только цифры.
Спасибо, Денис, за отзыв.
А как вывести значения высоты длины и ширины товара (его объём)… в корзину товара при заказе..там по умолчанию тольо вес груза
Где конкретно должны отображаться дополнительные параметры?
ПО клику на корзину, в которой лежит товар…там где товары можно изменять по кол-ву, а так же удалять их. Под этим блоком желательно добавить
Это уже отдельная тема.
Спасибо!
Всегда пожалуйста!)
Здравствуйте, большое спасибо за статью! все работает на отлично, но мне нужно не только выводить на детальной странице товара, но и в блоке модуля [Webme] Категории на главной и других модулях вроде популярные товары и т.п.
вроде они используют модель product, но после добавления кода в tpl файл модуля выдает : Notice: Undefined variable: weight in /home/sushinac/public_html/catalog/view/theme/default/template/module/webme_categories_at_homepage.tpl
подскажите пожалуйста что нужно сделать?
Добрый день. Я пробывал добавить код для вывода Артикул, EAN, Вес, но у меня не вышло. Подскажите пожалуйста. Можно на email. Спасибо.
https://clip2net.com/s/5KbVT7 это для веса. Артикул и EAN не включились.
https://clip2net.com/s/5Kc0Tu вот 30 строка.
С тем, что выше я написал, я разобрался. Все из-за невнимательности. Осталось одна проблема. Как сместить Длину под Вес? https://clip2net.com/s/5KkRnE
Просто разместите br между ними.
А как сделать проверку заполности пунктов EAN, UPC, JAN? Что бы если они пустые то не выводились
Тоже интересует.
Для габаритов, на мой взгляд, лучше сделать иначе.
Меньше кода, больше сохранности логики движка.
catalog/view/theme/default/template/product/product.tpl:
x x
catalog/controller/product/product.php:
$this->data[‘text_dimension’] = $this->language->get(‘text_dimension’);
$this->data[‘length’] = $this->length->format($product_info[‘length’], $product_info[‘length_class_id’]);
$this->data[‘width’] = $this->length->format($product_info[‘width’], $product_info[‘length_class_id’]);
$this->data[‘height’] = $this->length->format($product_info[‘height’], $product_info[‘length_class_id’]);
Выглядит в итоге вот так: https://funkyimg.com/i/DRUQ.png
Здравствуйте, Алексей!
Прошу подсказать как сделать в одну строку, что необходимо прописать в catalog/view/theme/default/template/product/product.tpl?
Добрый день. Алексей!
Присоединяюсь к пожеланию Евгения. Как значения длинны, ширины и высоты в одну строчку положить, чтоб выглядело, как у Вас на картинке.
Такой вопрос мне нужно вывести атрибуты такие как: Объем, Диаметр. Под данными габарита и веса. можно это каким-нибудь образом реализовать?
Иван, для этой цели можно использовать уже существующие поля, которые Вы не используете, например UPC, EAN и т. д. Вывести их в product.tpl, для большей привлекательности переименовать данные поля в админке и использовать для своих параметров.
Спасибо за полезную статью. После следования рекомендациям возникли некоторые ошибки, которые удалось убрать, следуя некоторым советам уже в комментариях. Все работает идеально.
Спасибо за отзыв.
Как добавить новый модуль типа Цена, Модель, Производитель? Интересует именно введение нового, а не смена уже существующего.
Не выводиться размерность «кг» вместо этого пишет какие-то иероглифы!
Ссылка натовар
https://5kolonok.com/index.php?route=product/product&path=20_27&product_id=74
Меняйте кодировку файла на utf-8 без BOM. Используйте Notepad++, кодировку необходимо «преобразовать».
Спасибо за информацию!
Спасибо за отзыв!
Шикарный мануал, благодаря ему и паре комментариев удалось выставить вес у товара и сделать подписи к цене «за килограмм» и «за штуку» в зависимости от категории.
Небольшая поправка в коде, где выбираются ГР и КГ перед граммами отсутствует закрытый тег br. Мало ли кому-то пригодится :)
Итак, в ланг файлы я пока не лез, но ошибки уже получил. Помимо того что в мануале, я дописал в файле контроллера product.php вывод id для ширины, длинны и высоты, после чего имею в хедере такие проблемы:
Notice: Undefined index: width_class_id in /home/hobby/data/www/hobby-group.com.ua/vqmod/vqcache/vq2-catalog_controller_product_product.php on line 284
Notice: Undefined index: height_class_id in /home/hobby/data/www/hobby-group.com.ua/vqmod/vqcache/vq2-catalog_controller_product_product.php on line 286
Убрал знак «=» (вместо «==») — не помогло, пересохранил товар — не помогло, проверил и пересохранил локализации в товаре/настройках темы — не помогло. Подозреваю что в БД нет вообще ничего связанного с ширина_айди/высота_айди, но времени проверять — покамест нет, буду дальше разбираться ночью, может за вечер найдется помощь :)
Версия OpenCart v1.5.6.1 (честно, по чейнжлогам особой разницы между версиями, кроме введения модулей оплаты для буржнета и отката многих вещей до пред. версий — не вижу)
Спасибо автору за статью и народу за комментсы ;)
Выше в комменте, уже писала о том, что следует убрать идентификаторы.
Спасибо за полезную статью. Сделал всё, как написано. Вес отображается корректно, а размеры не очень. 4 часа ковыряюсь, всё бестолку. У меня ocStore версия 1.5.5.1.1.
Скрин проблемы: https://funkyimg.com/view/FJB5
Как сделать так, чтоб выглядело, как у Алексея на скрине (https://funkyimg.com/i/DRUQ.png)
Заранее спасибо!
Добавьте в catalog/language/ukrainian/product/product.php
$_[‘text_length’] = ‘Длина:';
$_[‘text_height’] = ‘Высота:';
$_[‘text_width’] = ‘Ширина:';
Большое спасибо, помогло! Теперь значения отображаются корректно https://funkyimg.com/i/FJQS.png
Буду очень благодарен, если подскажите, как сделать, чтобы размеры отображались в одну строчку.
Размер: длинна х ширина х высота
Смотрите дополнение в конце статьи.
Большое человеческое СПАСИБО!!! Всё работает, как надо!
Вот и отлично. Удачи в настройках магазина! И заходите еще)
Здравствуйте!
Подскажите, пожалуйста, как можно сделать функционал выбора веса и динамически меняющийся ценник?
Приветствую всех! То ли я просмотрел, то ли нигде не рассматривались вопросы каким образом:
1. убрать дробную часть в размере (1,050.00мм -> 1,050мм)
2. убрать запятую в размере (1,050мм -> 1050мм)
3. изменить вывод веса (14.10гр -> 14.1гр)
Заранее благодарю ГУРУ)
приветствую! у меня такая проблема при воде данных кодов (предоставил ниже) ссылка на товары становятся белым (все исчезло)
https://joxi.com/rqSeU_3JTJAoY3rn2SI скрин также хотел бы узнать как добавить дополнительные закладки в товарах Характеристики Сертификаты и тд скрин https://joxi.com/TKWeU_3JTJAyY46G-1E
также хотел бы узнать какие коды убрать или заменить чтобы убрать пустоту между товаром и описанием (пришлось убрать код чтобы убрать пустоту но увы кнопки описания и отзывов пропали)
0) { ?>
все вопросы решены ответы не требуются
А как туда просто добавить свой телефон, желательно чтобы один раз на все товары
В файл товара product.tpl добавьте новый div с телефоном, в stylesheet.css задайте нужные стили.
Добрый день. после добавления первого пункта. страница товара становиться белым. Убираем первый пункт- все работает. Скажите пожалуйста в чем может быть причина? Версия 1.5.5.1.2
вопрос решен убиранием второго «=». Вопрос появился другой. Как убрать лишние нули после грамм?
пример:
Вес (гр.): 100.00000000
Наличие: Есть в наличии
Буду благодарен за ответ.
А где же обещанное в заглавии добавление артикула?очень важно для многих я думаю.
В заглавии написано добавление артикула в карточку товара,но описания как это сделать в статье нет…подскажите как это осуществить?
Немного деточет есть. Там где надо вывести единицу измерения веса
PHP
<?php echo " гр»; ?>
— надо исправить на » кг»
На opencart 1.5.5.1 работает отлично
Благодарю. В карточке товара всё работает отлично.
Подскажите, пожалуйста, как реализовать тоже самое, но на странице категорий.
Добрый день! Полночи просидела проделала, а получилось в итоге вот что:
Модель: 9966-66
Вес: 7 �� 112.5 �� � 37.5 �� � 48.5 ��
Отпишите пожалуйста в почту, что делала не так. Или что еще доделать. Мозг пухнет.
Наталья, у Вас проблема с кодировкой. Смените кодировку файла на utf-8 без BOM.
Еещ раз здравствуйте, все сделали, получилось вот так: Вес: 4 кг 112 см х 48 см х 46 см
$_[‘text_dimension’] = ‘Размеры:'; ВСТАВИЛИ
Почитал статью , может подскачете как сделать чтоб карточка товара была везде одинакова ? При длинном имени , оно идет в оформлении в две строки и кнопка купить сползает , и получается разнобой . Где имя короче и длинней , кнопка купить занимает разные позиции.
Пробовала по данному уроку добавить вес товара на Опен карте 1.5.5.1 Получилось. Спасибо огромное
Здравствуйте! Помогите, пожалуйста вывести размеры в модули и в категории. Если возможно. самостоятельно по этому описанию вывести в модуль не получилось.
Здравствуйте! Добавила по вашему уроку вес в карточку товара. Все отлично работает.
Клиентка еще попросила добавить дополнительную меру измирения Миллилитр, которую я добавила в Настройках локализации. Чтобы не дописывать еще одно поле я просто дописала в карточке сайта Вес и через точку объем. Но дело не в этом думаю дописанное слово ничего не могло изменить в работе, так как изменения такие вносились только в языковом файле.
Одним словом после добавления веса в карточку товара появилась проблема, не знаю связанная ли она с уроком, но почему то вес товара к примеру 400 гр прописан https://askan.com.ua/Kofye-k-k-o-ch-y/K-k-o/FASER/Fazer-k-k-o-poroshok-dlya-dyesyertov-vypyechki-i-shokol-dnyh-n-pitkov-p110c33c213.html , а при просмотре корзины показывает вес корзины 0.00 грамм . Что это может быть? Помогите.
Большое спасибо, установил размеры в карточку товара в строку:, всё работает ocStore Версия 1.5.5.1.2
Девушка вы такая умница. Спасибо вам за хорошую работу и уверен благодарны вам тысячи людей. Это очень полезная информация..
Здравствуйте! Прочитал данную статью, очень полезна. А возможно в карточке товара аналогично добавить расположение товара? Если да, проконсултируйте пожалуйста.
Здравствуйте, Василий,
«Расположение», в смысле вывести тот пункт из карточки товара, который именуется «Расположение»? Если речь о нем, то вывести его не составит труда, для этого действуйте по такой же схеме как с размерами, но помните, что переменная расположения — location.
Не могу найти эту строку, других вариантов нет?
catalog/view/theme/default/template/product/product.tpl и ищем строки вывода модели товара
Необязательно искать строку с моделью, ищите ту переменную после которой хотите вывести в карточку новые данные товара. Например, поле «Наличие» — stock или «Производители» — manufacturer.
Делал все по инструкции. Не вышло. Установил модул с форума опенкарт. В списке товара становиться, на product page никак. Подскажите пожалуйста.
Здравствуйте, а как вывести вес на странице категории и в модулях, приписываю ‘weight’ => $result[‘weight’], в /catalog/controller/product/category.php, но ничего не получается — выводится ошибка… Подскажите пожалуйста
В этих модулях хочу вывести module/featured.tpl и module/latest.tpl, если что…
Для вывода веса или размеров в категории требуется больше правок. Если есть сложности с кодом, то проще это реализовать с помощью модулей, например, “Additional information”.
Здравствуйте.А вы не могли бы сказать как это все проделать,только в версии 1.5.5 ?За ранее спасибо.
Здравствуйте, делайте все так же, по аналогии, данный код мало чем изменился.
Я просто вообще нуб.и эту строку
я не нашел,у меня ее нет.мож она как то по другому пишется?
В общем я не знаю как вставить этот код в комментарий но это самый первый код после которого нужно вставлять ваш код.
Здравствуйте, хотел подсказать, если еще не кто не написал, у меня версия OcStore 1.5.5.2. Что бы все было корректно нужно в файл product.php в первом случае: вместо как вы указали
ВСТАВИТЬ
Доброго времени суток! Скажите, мне необходимо вывести вес на странице товара, то что здесь описано не подходит для версии 2.0. Причем в некоторых случаях, это вес, в других объем, и единицы измерения при этом г. и мл., соответственно. Версия OpenCart 2.0.1.1. Есть решение?
К сожалению, этот момент с 2.0 еще не производила. В ближайшее время предстоит работа с 2.0, посмотрю что там с весом, если что отпишусь.
подскажите пожалуйста что нужно добавить после этого кода чтоб выводились миллилитры мл.
Для того, чтобы после цифр выводились «граммы» или «килограммы», сразу же, за тем кодом, что мы добавили в самом начале, в файле catalog/view/theme/default/template/product/product.tpl, добавляем следующие строки:
<?php echo " гр»; ?>
при указании в карточке товара гр — все получается
Вес: 50 гр
Наличие: 100
при указании в карточке товара мл — выводит так
Вес: 50 Наличие: 100
подскажите пожалуйста как исправить?
Здравствуйте, у меня проблема выводится много нулей после цифр
Ширина 362.00000000 мм
Высота 350.00000000 мм
Глубина 180.00000000 мм
Как от них избавится?
Приветствую! Подскажите если кто знает. Мне нужно выводить вес и размеры уже на странице категорий под картинкой товара. Категории отображаются сеткой. Пробовал данный вариант переложить на категории не получилось.
Добрый день. Спасибо за статью! Сделал как тут описано и все получилось! Есть вопрос: как сделать так чтобы вес товара отображался при оформлении а также после оформлении заказа вес товара отображался в админке в заказах? Спасибо.
jul, прочитала Вашу статью. Очень познавательно. У меня такой вопрос, как сделать так, чтобы в карточке товара отображались все цвета сразу (порядка 100) и покупатель мог выбирать какое количество каждого цвета ему нужно. например, карточка товара — пуговицы, которых 100 цветов, чтобы клиент мог сразу видеть все цвета и выбирать какого цвета сколько ему нужно. Если нужен дополнительный модуль, то подскажите, пожалуйста, какой. Буду очень благодарна за ответ на почту , тк вопрос очень важный. Перерыла кучу форумов в интернете, ответ на вопрос так и не нашла. Спасибо.
Ответила на почту.
Доброго дня. Никто не подскажет как выводить вес корзины в самом письме заказа. Чтоб админ мог увидеть сколько общий вес. Заранее спасибо
это все хорошо, а как отсеч дробную часть , например, дано 1,500.00 необходимо чтоб было 1,500
проблема решена))
Здравствуйте , у меня проблемка немного другого типа , как добавить слово ко всем моделям товара , например : Главная> мужские часы> Celvin( вот к celvin добавить слово часы(Часы celvin и к другим моделям тоже )) Нашел код , но оно добавляется ко всем крошкам .
Юлия, подскажите, а как можно вывести свой собственный атрибут? Есть необходимость иметь три четыре атрибута на все товары. Которые нужно выводить в карточке товара и меть возможность этот атрибут изменить для всех товаров у которых выбран этот атрибут
Ну а как сделать проверку на заполнение не цифровых полей? А текстовых. Например эту же модель, что бы выводилось если хоть что нибудь в ней написано и скрывалось, если пусто
Отличная стать. Пользовался ею когда был на OS 1.5. Теперь я на OS 2.1. Огромная просьба написать как сделать эти манипуляции только на движке Version 2.1.0.1
Уважаемы автор, может хоть сейчас ответите на мой вопрос? Раньше писал про вес, не ответили. Сейчас задам вопрос про артикул: как можно вывести артикул в админку в истории заказов либо в письмо на почту админу? Буду очень благодарен если вы ответите.
Алекс, к сожалению, это просто мой блог, а не форум, на котором большое кол-во пользователей, где есть желающие отвечать часто и всем. Веду блог на энтузиазме и отвечаю тогда, когда у меня есть время, возможности и желание. Поскольку я фрилансер, то ценю ту работу, которую имею (в нынешнее время ее стало не так уж много) и она для меня в приоритете, поэтому не понимаю требований по поводу того почему это я не отвечаю на комментарии. Я делаю обзоры модулей, каких-то доработок, если моим посетителям они нравятся, хорошо, используйте на здоровье. Если слышу от кого-то вопросы, на которые можно сходу дать ответ, то чаще всего стараюсь ответить, если же вопросы не могут ограничиться несколькими предложениями, как в Вашем случае, то что я могу ответить в комментарии?? Написать целый пост в комментариях по Вашему вопросу?
Добрый день, не работает на Opencart Version 2.0.1.1.
Notice: Undefined variable: weight
Подскажите как бороться?
Добрый вечер, Александра,
этот пост написан очень давно (2012 год) и под старые версии движка, на 2.х способ не подходит.
Вы не первая кто спрашивает о выводе веса в карточку товара на 2.х. Сейчас много работы, но как появится свободное время, постараюсь написать на эту тему пост.
Приветствую, Александра.
В одном из комментариев был ответ на ваш вопрос. У меня тоже сначала не получилось — выдавал ошибку на text_dimension
Дело в том, что в версии 2.х я так понимаю, нужно к контроллере дополнительно прописать строку
$data[‘text_dimension’] = $this->language->get(‘text_dimension’);
Да, и вне зависимости от того, что делал копировать-вставить, код не заработал пока я его руками не переписал. Скорее всего, какой-то ложный символ прицепился) Либо просто синтаксическая ошибка.
Посмотрите в эту сторону, если актуально.
Добрый день. Вы не подскажите, При заказе товара превышающего весом допустимый к отправки в данный регион, страну, у нас на сайте выходит ошибка о невозможности отправки в данный регион. Как можно указать что превышен вес отправки в данный регион. Где это можно исправить?
Добрый день, все получилось вывести, спасибо!
Но выдает постоянно предупреждение «Notice: Undefined index: dimension in /var/www/ph354095/data/www/neman-shop.com/vqmod/vqcache/vq2-catalog_controller_product_product.php on line 288″
Не понимаю к чему оно… Эта строчка вообще пустая в product.php. vqcache почистила — все равно вылезает
Добрый день, столкнулся с проблемой, подскажите пожалуйста, Нужно объединить определенные товары в серии. (В карточке товара — комплектация: столы, шкафы, тумбы)
Вот что-то такое хотелось бы видеть: https://www.mebelux.com/list/cabinets/ukraine/time-2/
И добавить фильтры, вот пример: https://www.europe-mebel.com/show_item/4395/
OcStore 1.5.5.1.2
Вывел все в карточке, а вот в категориях не получается вывести ед. длины значения выводит, а см нет, помогите решить osctore 2.1
https://klaufen.pro/podvodka-dlja-gaza/v-armirovannoj-opletke/
Благодарю за информацию!
Точно в 10. Пришлось правда немного адаптировать к версии 2.2, но суть одинакова.
Статья мне была очень полезной.
Денис Зотов
vk.com/iamdeniszotov