Отображение количества наличия товара

Тема в разделе "ABO CMS", создана пользователем Vell61, 22 апр 2010.

Статус темы:
Закрыта.
  1. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Подскажите как на АБО 5.4 реализовать отображение количества наличия товара на складе в списке товаров в виде картинки, напромер:

    |сравнить|код|наименование|наличие|цена|заказ|
    | + |155|товар | ||| | 50 | [ ] |

    т.е. не 15 (числом),а картинкой штрихами (см. L1/L2/L3), например: если 5 то 1, 10 то 2, 15 то 3 штриха ну и т.д.
     

    Вложения:

    • L1.gif
      L1.gif
      Размер файла:
      860 байт
      Просмотров:
      64
    • L2.gif
      L2.gif
      Размер файла:
      914 байт
      Просмотров:
      63
    • L3.gif
      L3.gif
      Размер файла:
      968 байт
      Просмотров:
      63
  2. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    80
    Симпатии:
    21
    добавь в шаблоне блок block_product_availability и в него помести код картинки.
    Потом в скрипте каталога в function showProdList($list)
    в ~ 8063 строке меняеш
    if ($prod_info["prod_availability"]) {
    $tpl->newBlock('block_product_availability');
    $tpl->assign("prod_availability", $prod_info["prod_availability"]);
    }
    на
    if ($prod_info["prod_availability"] && $prod_info["prod_availability"] > 0) {
    $count_imgs = ceil($prod_info["prod_availability"]/5);
    for($i=0;$i<$count_imgs;$i++){
    $tpl->newBlock('block_product_availability');
    }
    }
     
    Vell61 нравится это.
  3. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Класс отображает, сделал кратно 10... но неудобно одно если выставить наличие например 500шт (мелкого чего-нить) то штрих ппц длинный и не показивает когда товара 0 на складе!

    Подскажи плиз если, не сложно, как подправить чтоб привязать к картинкам, а то чет не соображу... чтоб было например вида:

    если 0 то Х
    от 1 до 10 то |
    от 11 до 30 то ||
    от 31 до 60 то |||
    от 61 до 100 то ||||
    от 101 |||||

    Заранее благодарен!
     
  4. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    80
    Симпатии:
    21
    ну здесь простой ПХП:
    if ($prod_info["prod_availability"]){
    if ($prod_info["prod_availability"] > 0 && $prod_info["prod_availability"] <= 10){
    $count_imgs = 1;
    } elseif ($prod_info["prod_availability"] > 10 && $prod_info["prod_availability"] <= 30){
    $count_imgs = 2;
    } elseif ($prod_info["prod_availability"] > 30 && $prod_info["prod_availability"] <= 60){
    $count_imgs = 3;
    } elseif ($prod_info["prod_availability"] > 60 && $prod_info["prod_availability"] <= 100){
    $count_imgs = 4;
    } elseif ($prod_info["prod_availability"] > 100){
    $count_imgs = 5;
    }
    for($i=0;$i<$count_imgs;$i++){
    $tpl->newBlock('block_product_availability');
    }
    } else {
    //действия, когда 0
    $count_imgs = 0;
    }
     
    Vell61 нравится это.
  5. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    :ay: норм! ВСЕ ИДУ УЧИТЬ ПХП ;)

    Ток вот когда 0 товара опять ставит (пусто)... как к 0 привявять другую картинку например (Х)? Т.е. > 0 штрихи (|||), = 0 крестик (Х)
     

    Вложения:

    • availability.gif
      availability.gif
      Размер файла:
      821 байт
      Просмотров:
      54
    • count_0.gif
      count_0.gif
      Размер файла:
      300 байт
      Просмотров:
      54
  6. Vell61

    Vell61 Писатель

    Заблокирован
    Регистр.:
    26 июл 2009
    Сообщения:
    58
    Симпатии:
    0
    Добавил новый блок в действиях с 0:
    ...
    } else {
    //действия, когда 0
    $count_imgs = 0;
    $tpl->newBlock('block_product_count_0');
    }

    А в блоке block_product_count_0 поместил код картинки (Х)! :yahoo:
    Так надеюсь правильно будет сделать...
     
  7. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    80
    Симпатии:
    21
    Все верно ) так и нужно было сделать
     
  8. alustroy7

    alustroy7 Прохожие

    Класс!!! Благодарю
     
  9. junglist

    junglist Писатель

    Регистр.:
    5 дек 2007
    Сообщения:
    8
    Симпатии:
    0
    каким образом можно реализовать , что бы выводилось вот так :

    0
    <5
    >5
    >10
    >50
    >100
    >500
     
  10. picasik

    picasik Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    80
    Симпатии:
    21
    Кол-во товара у тебя уже есть. Дальше обычная переборка по условиям и вывод нужного значения.
    if ($prod_info["prod_availability"]){
    if ($prod_info["prod_availability"] > 0 && $prod_info["prod_availability"] < 5){
    $prod_info["prod_availability"] = '<5';
    } elseif ($prod_info["prod_availability"] >= 5 && $prod_info["prod_availability"] < 10){
    $prod_info["prod_availability"] = '>5';
    } elseif ($prod_info["prod_availability"] >= 10 && $prod_info["prod_availability"] < 50){
    $prod_info["prod_availability"] = '>10';
    } elseif ($prod_info["prod_availability"] >= 50 && $prod_info["prod_availability"] < 100){
    $prod_info["prod_availability"] = '>50';
    } elseif ($prod_info["prod_availability"] >= 100 && $prod_info["prod_availability"] < 500){
    $prod_info["prod_availability"] = '>100';
    } elseif ($prod_info["prod_availability"] > 500){
    $prod_info["prod_availability"] = '>500';
    }
    } else {
    $prod_info["prod_availability"] = 0;
    }
     
    junglist нравится это.
Статус темы:
Закрыта.