Количество товара на складе на странице категорий

Тема в разделе "Готовые модули и модификаторы. Бесплатно", создана пользователем DiMoss, 17 июн 2016.

  1. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Добавляет к карточке товара информацию о количестве товара на складе....

    Снимок.JPG

    Проверено на OpenCart 2.1.0.2(rs2)
     

    Вложения:

    • Instock Qty.zip
      Размер файла:
      777 байт
      Просмотров:
      89
    Последнее редактирование: 14 дек 2017
    Bomber, Ален, Vlad и 2 другим нравится это.
  2. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Вариант мода с отключением кнопки Купить,если товара нет в остатках - заменяется на кнопку с надписью Нет в наличии(+tooltip при наведении).

    Безымянный.png
     

    Вложения:

    Последнее редактирование: 14 дек 2017
    Ален, Vlad, RoS и ещё 1-му нравится это.
  3. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    На данный момент модуль работает исправно, но не доработан по функционалу - модифицирует карточки товара только на страницах категорий. В скором времени будут добавлены все остальные страницы, такие как: страница товаров с акцией, товар производителя, карточка продукта... В общем всё и вся, где есть карточки продукта и кнопка Купить. Но за исключением модулей, т.к. с ними я работаю отдельными модами.
     
  4. Dien

    Dien Новичок

    Сообщения:
    7
    Симпатии:
    1
    Привязать к категории - это добавить товар в таблицу oc_product_to_category, в какие еще таблицы нужно добавить id товара?
     
  5. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Не совсем понял о каких таблицах речь идёт. В БД ничего добавлять не нужно, т.к. имеющейся инфы вполне достаточно.
    В таблицу *_product_to_category товар вроде как сам попадает.... Но при чём здесь остаток на складе!?
    Модификатор работает исключительно с контроллерами, файлами перевода(чтоб не вставлять кириллицу в код) и шаблонами.
     
  6. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Для большей гибкости, мод сделан зависимым от настроек магазина, а именно от этих...

    Снимок.JPG

    1 - Показывать остаток на складе
    - включает/выключает отображение количества товара...

    Снимок.JPG

    2 - Заказ при нехватке на складе:

    - если нет, то вместо кнопки Купить отображается Нет в наличии, и товар не может быть "брошен в" корзину...

    Снимок.JPG

    - если да, то вместо Купить появится надпись Под заказ (при отсутствии в остатке)

    Снимок.JPG
     

    Вложения:

    • Instock_Qty.zip
      Размер файла:
      1,5 КБ
      Просмотров:
      113
    Последнее редактирование: 14 дек 2017
    Ален и RoS нравится это.
  7. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    Теперь главное не ошибиться в выборе ))
     
  8. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Да, что то я торопился выкладывать :). Просто хорошая мысля, всегда приходит опосля....
    Последний вариант мода самый актуальный. Первые два вообще в топку бы))).

    Разве что кого то может не устроить надпись Под заказ. Перевод можно легко поправить в самом моде. Не думаю, что стоит делать отдельную настройку под выбор надписи...
     
  9. krym700

    krym700 Новичок

    Сообщения:
    1
    Симпатии:
    0
    Давно ищу такой модуль, чтоб показывал количество на складе в категории товаров. Подскажите, а на ocStore Version 1.5.4.1 он сможет стать? Если нет может что то посоветуете?
     
  10. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    C ocStore 1.5.4.1 не знаком, но что то мне подсказывает, что не встанет. Попробуйте сделать самостоятельно, опираясь на имеющийся мод. Вывести остаток на складе в категорию достаточно просто.
    Либо по возможности переходите на актуальную версию OpenCart.

    P.S. Кстати, в очередной раз мод был доработан - добавлена возможность указать количество товара, которое будет "брошено" в корзину.
    Снимок.JPG
    Пока что не выкладываю, т.к. дописываю мод, чтобы он применялся везде, где отображаются карточки товара, включая модули (не все, но вот модуль Новые поступления точно попадает под раздачу).
     
    Последнее редактирование: 24 июн 2016
  11. alex_a_k

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

    Сообщения:
    37
    Симпатии:
    0
    Клево!
    Но хотелось бы, чтобы так же работало в модулях featured, lastest, search и т.д.
     
  12. Bkmz

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

    Сообщения:
    440
    Симпатии:
    106
    допилите по аналогии, ничего сложного
     
  13. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    У товара в админке есть поле Вес. Вес каждого товара умноженный на количество это товара равняется итоговому весу.
     
  14. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    В контроллере категории в массив продукта добавьте элемент
    Код:
    'total_weight' => $result['weight'] ? $result['quantity'] * $result['weight'] : false
    Выведите в шаблон
     
    L0ky нравится это.
  15. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Если надо на странице продукта, то это уже совсем другое дело.

    В контроллере product.php перед...
    PHP:
    if ($product_info['quantity'] <= 0) {
    вставьте...
    PHP:
    $data['total_weight'] = (float)$product_info['quantity'] * (float)$product_info['weight'];
    Теперь в шаблоне можно использовать...
    Код:
    <?php echo $total_weight; ?>
     
    L0ky нравится это.
  16. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    PHP:
    $data['total_weight'] = ((float)$product_info['quantity'] * (float)$product_info['weight']) / 1000.0;
     
  17. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    А почему бы не указать для товара вес в килограммах и уже их умножать на количество?
     
  18. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Нет. Я написал, что эта строчка должна стать элементов массива продукта.
    Соотвественно в шаблоне выводить надо в цикле.
    Посмотрите откуда в шаблоне появляются продукты.
     
  19. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Код:
    <?php foreach ($products as $product) { ?>
    .......
    <?php echo $product['total_weight']; ?>
    .......
    <?php }  ?>
    
     
    L0ky нравится это.
  20. Сергей2017

    Сергей2017 Новичок

    Сообщения:
    26
    Симпатии:
    0
    Подскажите пожалуйста, какая часть кода в categoty.tpl выводит между кнопок остатки?
     

    Вложения: