Выводить Размеры (Д x Ш x В)

Тема в разделе "Общие вопросы", создана пользователем Лдшьуте, 10 апр 2015.

  1. realpiro

    realpiro Новичок

    Сообщения:
    11
    Симпатии:
    0
    все равно спасибо!
     
  2. LehaLebed

    LehaLebed Пользователь

    Сообщения:
    91
    Симпатии:
    12
    А можно как-то изменить? Мне нужно чтобы выводился вес и объем (объем рассчитанный по формуле = Д*Ш*В).
     
  3. kottom

    kottom Новичок

    Сообщения:
    3
    Симпатии:
    0
    мод не работает ((( ни вручную по инструкции ни через установшик
    опенкарт Version 2.3.0.2 (trs-2.3.0.0)
    размеры не выводятся
     
  4. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    516
    Мой модификатор работает на 2.3
     
  5. kottom

    kottom Новичок

    Сообщения:
    3
    Симпатии:
    0
    Сапсибо, я уже ручками из примера с весом накувырял ))))
     
  6. Night_Pilgrim

    Night_Pilgrim Новичок

    Сообщения:
    11
    Симпатии:
    0
    подскажите пожалуйста, как быть если нужно чтобы (Д х Ш х В) изменялись в зависимости от категории, к примеру на (Г х Ш х В)

    поясню, у меня есть 2 категории товара, столы с (Д х Ш х В) и стулья (где Длина меняется на Глубину сидения).
    в теории я вижу решение проблемы в изменении языкового файла (добавлении второй переменной), а после инструкцией if (по переменной категории) привязывать нужное значение.

    Но здесь появляется загвоздка, поскольку в Opencart продукция может отображаться в той или иной категории, а не "принадлежать" ей (т.е. любой товар можно открыть и "вне категории")...

    и как быть?
     
  7. Bkmz

    Bkmz Продвинутый пользователь

    Сообщения:
    440
    Симпатии:
    106
    смотрите в сторону Seopro

    насколько я помню, он убирает дубли урлов. т.е. у каждого товара - один адрес
     
  8. Night_Pilgrim

    Night_Pilgrim Новичок

    Сообщения:
    11
    Симпатии:
    0
    дело так то не в адресе, а в переменных категорий :) я для примера сказал, что и без категорий открывается.

    я решил пойти "долгим" путём... добавить в БД столбец с переменной, и уже по ней писать условия. Думал просто может "изобретаю велосипед"...
     
  9. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    516
    Это оптимальное решение.
     
  10. Vyacheslav87

    Vyacheslav87 Новичок

    Сообщения:
    16
    Симпатии:
    1
    Использую 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']),
     
    Последнее редактирование: 9 ноя 2017
  11. Vyacheslav87

    Vyacheslav87 Новичок

    Сообщения:
    16
    Симпатии:
    1
    Сам разобрался.
    Если кому надо вот.
    Файл /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 } ?>
     
    sashamaximiv нравится это.
  12. Александр22

    Александр22 Новичок

    Сообщения:
    1
    Симпатии:
    1
    Приветствую.

    Благодарю Andrey Kozlov за модификатор :)

    Немного доработал под свои нужды, теперь размеры выводятся в одну строку (кроме веса) и не выводятся при их отсутствии. Работает для комбинаций ДхШ и ДхШхВ. За говнокод прошу не пинать, может, кому пригодится.
     

    Вложения:

    karpov нравится это.
  13. vlasov

    vlasov Новичок

    Сообщения:
    23
    Симпатии:
    3
    Долго искал как избавится от запятой в размерах с 4-значной и выше цифрой, оказывается все просто! Нужно знать php-шную функцию

    Код:
    number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," ) : string
    Вдруг кому-то пригодится
    Код:
    $data['length'] = number_format($product_info['length'], 0,'.','');
     
    sashamaximiv и Vlad нравится это.