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

Статус
В этой теме нельзя размещать новые ответы.

Vell61

Создатель
Заблокирован
Регистрация
26 Июл 2009
Сообщения
58
Реакции
0
  • Автор темы
  • Заблокирован
  • #1
Подскажите как на АБО 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
добавь в шаблоне блок 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');
}
}
 
  • Автор темы
  • Заблокирован
  • #3
Класс отображает, сделал кратно 10... но неудобно одно если выставить наличие например 500шт (мелкого чего-нить) то штрих ппц длинный и не показивает когда товара 0 на складе!

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

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

Заранее благодарен!
 
ну здесь простой ПХП:
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;
}
 
  • Автор темы
  • Заблокирован
  • #5
:ay: норм! ВСЕ ИДУ УЧИТЬ ПХП ;)

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

Вложения

  • availability.gif
    availability.gif
    821 байт · Просмотры: 54
  • count_0.gif
    count_0.gif
    300 байт · Просмотры: 54
  • Автор темы
  • Заблокирован
  • #6
Добавил новый блок в действиях с 0:
...
} else {
//действия, когда 0
$count_imgs = 0;
$tpl->newBlock('block_product_count_0');
}

А в блоке block_product_count_0 поместил код картинки (Х)! :yahoo:
Так надеюсь правильно будет сделать...
 
Все верно ) так и нужно было сделать
 
каким образом можно реализовать , что бы выводилось вот так :

0
<5
>5
>10
>50
>100
>500
 
каким образом можно реализовать , что бы выводилось вот так :

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

Кол-во товара у тебя уже есть. Дальше обычная переборка по условиям и вывод нужного значения.
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;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху