А можно как-то изменить? Мне нужно чтобы выводился вес и объем (объем рассчитанный по формуле = Д*Ш*В).
мод не работает ((( ни вручную по инструкции ни через установшик опенкарт Version 2.3.0.2 (trs-2.3.0.0) размеры не выводятся
подскажите пожалуйста, как быть если нужно чтобы (Д х Ш х В) изменялись в зависимости от категории, к примеру на (Г х Ш х В) поясню, у меня есть 2 категории товара, столы с (Д х Ш х В) и стулья (где Длина меняется на Глубину сидения). в теории я вижу решение проблемы в изменении языкового файла (добавлении второй переменной), а после инструкцией if (по переменной категории) привязывать нужное значение. Но здесь появляется загвоздка, поскольку в Opencart продукция может отображаться в той или иной категории, а не "принадлежать" ей (т.е. любой товар можно открыть и "вне категории")... и как быть?
смотрите в сторону Seopro насколько я помню, он убирает дубли урлов. т.е. у каждого товара - один адрес
дело так то не в адресе, а в переменных категорий я для примера сказал, что и без категорий открывается. я решил пойти "долгим" путём... добавить в БД столбец с переменной, и уже по ней писать условия. Думал просто может "изобретаю велосипед"...
Использую OcStore 2.1 добавил все как у Вас написано, выводится на ура. Но есть одно но. Если в товаре отсутствуют размеры, надпись "Размер: 0x0x0" все равно показывается в категории. Какой добавить код к <?php echo $product['length']; ?> <?php echo $product['weight']; ?> <?php echo $product['height']; ?> чтобы он скрывал Еще что заметил строка "<?php echo $product['weight']; ?>" не верная выводит не ширину товара а вес товара тут за место weight надо заменить на width Так же в этой строке тоже присутствует ошибка: 'weight' => number_format($result['weight'], 2).' '.$this->weight->getUnit($result['weight_class_id']),
Сам разобрался. Если кому надо вот.Файл /catalog/controller/product/category.php $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'length' => number_format($result['length'], 0).' '.$this->length->getUnit($result['length_class_id']), 'width' => number_format($result['width'], 0).' '.$this->length->getUnit($result['length_class_id']), 'height' => number_format($result['height'], 0).' '.$this->length->getUnit($result['length_class_id']), 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, 'special' => $special, 'tax' => $tax, 'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } Файл /catalog/view/theme/default/template/product/category.tpl <?php if($product['length'] && $product['width'] && $product['height'] > 0) { ?> <span style="color:#de2a1b;font-weight:600;"><?php echo $text_dimensions; ?></span> <?php echo $product['length']; ?> <?php echo $text_by; ?> <?php echo $product['width']; ?> <?php echo $text_by; ?> <?php echo $product['height']; ?> <?php } ?>
Приветствую. Благодарю Andrey Kozlov за модификатор Немного доработал под свои нужды, теперь размеры выводятся в одну строку (кроме веса) и не выводятся при их отсутствии. Работает для комбинаций ДхШ и ДхШхВ. За говнокод прошу не пинать, может, кому пригодится.
Долго искал как избавится от запятой в размерах с 4-значной и выше цифрой, оказывается все просто! Нужно знать php-шную функцию Код: number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," ) : string Вдруг кому-то пригодится Код: $data['length'] = number_format($product_info['length'], 0,'.','');