Ну как бы да, немного нелогично конечно, то есть в корзине модификатор будет выводиться, но при этом будет постоянно показывать по нулям...Но главное, что будет работать! Спасибо, как сделаю, отпишусь и выложу элемент скидки, возможно кому-то пригодится!
Как сделать свой элемент для скидки в JBZoo 220?
		 Автор 
	SmetDenis
, Jun 17 2015 08:00
	
	
		рецепт элемент 220v скидка
		
	
		Сообщений в теме: 13
	
	
			
				
					
						
					
					#11
					 
					
				
				
				
					
				
			
				
			
			
			Отправлено 06 October 2016 - 09:15
			
				
					
						
					
					#12
					 
					
				
				
				
					
				
			
				
			
			
			Отправлено 06 October 2016 - 23:21
Сделал элемент скидки по вашей подсказке. В PHP вот такая функция:
public function getRate()
    {
        $type = $this->getOrder()->getPayment()->getElementType(); // получили тип способа оплаты
        $discount = 0;
        if ($type === 'robokassa' || $type === 'yandexmoney') { // проверяем, выбран ли нужный способ оплаты
            $discount = $this->config->get('rate', 0);
        }
        return $this->_order->val($discount)->negative(); // обязательно вернуть объект, добавляем знак минус (чтобы была скидка)
    }
При добавлении товара в корзину, в модуле корзины выводится ошибка, тоже самое и в карточке товара:
Fatal error: Call to a member function getElementType() on null in /.../.../.../.../media/zoo/applications/jbuniversal/cart-elements/modifierorderprice/discountroboyam/discountroboyam.php on line 24
Ругается вот на эту строку:
$type = $this->getOrder()->getPayment()->getElementType();
Подскажите пожалуйста, в чём ошибка может быть?
			
				
					
						
					
					#13
					 
					
				
				
				
					
				
			
				
			
			
			Отправлено 07 October 2016 - 16:00
					Код будет обрабатываться дважды. первый, когда элемент оплаты еще не забинден.
Нужно предварительно проверять его наличие.
					
				
				
				
				
				
								
				
					Нужно предварительно проверять его наличие.
if ($payment = $this->getOrder()->getPayment()) {
    $type = $payment->getElementType();
  ... // прочее
}
					
					
	
	JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!
				
				
				
			
				Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
			
				
					
						
					
					#14
					 
					
				
				
				
					
				
			
				
			
			
			Отправлено 07 October 2016 - 22:23
Огромное спасибо! Всё получилось!
 


 
			
			
			
				 
		
		 
				
				
			 
		
		 
			







 
  
	
	
		 
	
 Вопрос решен
 Вопрос решен 
	 
	
