Перейти к содержимому


Фотография
- - - - -

как убрать элемент цены, когда клиент совершил заказ?


  • Закрытая тема Тема закрыта
Сообщений в теме: 40

#1 jeyhunm

jeyhunm

Отправлено 16 July 2015 - 09:12

День добрый,

есть небольшая проблемка,

нужно убрать элемент цены у товара на сайте если клиент совершил заказ на этот товар,

2015-07-16 11-01-16 Скриншот экрана.png

 

когда совершается заказ на товар,  его остаток  приравнивается к нулю и на сайте появляется надпись нет в наличии

(или как у меня "продано").

но при этом остается цена товара, хочется его тоже убрать автоматическом режиме.

 

 

 


  • 0

#2 jeyhunm

jeyhunm

Отправлено 20 July 2015 - 16:55

вопрос сформулируем по другому,

как убрать цены у проданных товаров? 


  • 0

#3 SmetDenis

SmetDenis

Отправлено 21 July 2015 - 06:53

Можно отталкиваться от остатка.
У всех товаров остаток на складе 1 штука. После оплаты он станет нулем.

В зависимости от версии JBZoo обрамить вывод цены условием.
Какая у вас точная версия?
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#4 jeyhunm

jeyhunm

Отправлено 21 July 2015 - 07:38

да да , это как раз мне нужно,

создать условие.   версия у меня последняя.

у меня все товары по одной штуки на складе,

если оформляется заказ на этот товар, то их остаток равен нулю.

 

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

 

здесь мы обсуждали этот момент, но он не подходит, так как убирается все атрибуты элементы цены ( в том числе надпись нет на складе).

мне важно, чтобы убрался только цена товара.

http://forum.jbzoo.c...po-korzine-220/

 

Скрывать элемент цены, если нет остатка или итоговая цена нулевая.

 

Файл 

media\zoo\applications\jbuniversal\elements\jbprice\jbprice.php

метод hasValue замените на

 

 

public function hasValue($params = array())

{

$params = new AppData($params);

$config = $this->setTemplate($params->get('template', 'default'))->getParameters();

$total = $this->getList()->getTotal();

$inStock = $this->getList()->current()->inStock(1);

 

return !empty($config) && !$total->isEmpty() && $inStock;

}

 

 

 

 


Сообщение отредактировал jeyhunm: 21 July 2015 - 08:17

  • 0

#5 SmetDenis

SmetDenis

Отправлено 21 July 2015 - 07:43

Получится вынести все элементы, которые нужно скрыть, в отдельную таблицу?


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#6 jeyhunm

jeyhunm

Отправлено 21 July 2015 - 07:54

нет нет ,

все остается на своих местах, или я не допонял,

вот здесь указано что нужно убрать 

2015-07-16 11-01-16 Скриншот экрана.png

 

вот здесь цена товара убрана в ручную (принудительно обнулено цена товара)

 

2015-07-21 09-56-03 Скриншот экрана.png


  • 0

#7 Na_uM

Na_uM

Отправлено 21 July 2015 - 12:00

скриптом в две строки  скрыть не вариант?

по условию - если "jbprice-balance-available-no" то скрыть блок с ценой - если нет - то показать

первое что в голову пришло  ;)


  • 1

#8 SmetDenis

SmetDenis

Отправлено 21 July 2015 - 15:26

Согласен. Решение через CSS наиболее простое и очевидное.

Другой вариант, обрамить рендеринг позиций условием. Например,
$element = $item->getElement('<PRICE_ELEMENT_ID>');
$balance = $element->getList()->current()->getValue(true, '_balance');
if ($balance == 0) {
    // нет на складе
} else {
    // есть на складе
}

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 jeyhunm

jeyhunm

Отправлено 22 July 2015 - 13:02

укажите какой файл и где меняем?


  • 0

#10 SmetDenis

SmetDenis

Отправлено 23 July 2015 - 07:43

В шаблоне материала.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!