Página 1 de 1

[RESOLVIDO] Opções de produto no PagSeguro

Enviado: 25 Abr 2014, 21:45
por lucas.zgoda
Olá. Estou já há mais de 3 meses personalizando a minha loja e agora empaquei em um problema. Preciso que o tamanho da camisa (opção de produto) apareça no pagseguro.
Descobri já que parte tenho que modificar mas não sei como modificar, se vocês verem no codigo tem o options_name, queria fazer aparecer o value do option em vez do name.
uso a versão 1.5.6.1 do OC
Pedaço do codigo responsavel por isso dentro do /catalog/controller/payment/pagseguro.php
Código: Selecionar todos
/*
		 * Produtos
		 */
		
 		foreach ($this->cart->getProducts() as $product) {
			$options_names = '';
	    	
			foreach ($product['option'] as $option) {
	    		$options_names .= '/'.$option['name'];
	    	}
			// limite de 100 caracteres para a descrição do produto
			if($mb_substr){
				$description = mb_substr($product['model'].'-'.$product['name'].$options_names, 0, 100, 'UTF-8');
			}
			else{
				$description = utf8_encode(substr(utf8_decode($product['model'].'-'.$product['name'].$options_names), 0, 100));
			}
			
	    	$item = Array(
				'id' => $product['product_id'],
				'description' => $description,
				'quantity' => $product['quantity'],
				'amount' => $this->currency->format($product['price'], $order_info['currency_code'], false, false)
			);
			
			// O frete será calculado pelo PagSeguro.
			if($tipo_frete){
				$peso = $this->getPesoEmGramas($product['weight_class_id'], $product['weight'])/$product['quantity'];
				$item['weight'] = round($peso);
			}

			$paymentRequest->addItem($item);
	    }
já tentei diversas coisas para aparecer o value mas nao deram certo como não tenho muita experiencia em PHP. Tive o suficiente para editar por completo o formulário de registro mas já para isso esta um pouco complicado. agradeço quem poder me ajudar.
lucas.zgoda escreveu:Consegui resolver, para quem quer que mostre as infos dos tamanhos no pagseguro aqui vai a correção:
Código: Selecionar todos
/*
		 * Produtos
		 */
		
 		foreach ($this->cart->getProducts() as $product) {
			$options_names = '';
	    	
			foreach ($product['option'] as $option) {
	    		 $options_names .= ' / '.$option['name'].': '.$option['option_value'];
	    	}

			// limite de 100 caracteres para a descrição do produto
			if($mb_substr){
				$description = mb_substr($product['model'].' / '.$product['name'].$options_names, 0,  100, 'UTF-8');
			}
			else{
				$description = utf8_encode(substr(utf8_decode($product['model'].' / '.$product ['name'].$options_names), 0, 100));
			}
			
	    	$item = Array(
				'id' => $product['product_id'],
				'description' => $description,
				'quantity' => $product['quantity'], 
				'amount' => $this->currency->format($product['price'], $order_info ['currency_code'], false, false)
			);
			
			// O frete será calculado pelo PagSeguro.
			if($tipo_frete){
				$peso = $this->getPesoEmGramas($product['weight_class_id'], $product['weight'])/$product['quantity'];
				$item['weight'] = round($peso);
			}

			$paymentRequest->addItem($item);
	    }

Re: Opções de produto no PagSeguro

Enviado: 29 Abr 2014, 12:08
por denisgomes
Infelizmente não tenho como lhe ajudar mas fiquei curioso em saber: pra quê isso? O controle de vendas deve ser feito sempre primeiro pela loja, ou seja, os pedidos devem ser vistos no admin e lá aparecem as opções normalmente.

Re: Opções de produto no PagSeguro

Enviado: 01 Mai 2014, 16:16
por lucas.zgoda
O meu sócio que cuida das finanças pediu para ver se consigo alterar isso. Pois ele faz parte do controle por lá. tbm não entendi mas ele disse que se desse ia ser uma boa. vou tentar mais alguns codigos por mim mesmo então rsrs

Re: Opções de produto no PagSeguro

Enviado: 02 Mai 2014, 09:53
por lucas.zgoda
Consegui resolver, para quem quer que mostre as infos dos tamanhos no pagseguro aqui vai a correção:
Código: Selecionar todos
/*
		 * Produtos
		 */
		
 		foreach ($this->cart->getProducts() as $product) {
			$options_names = '';
	    	
			foreach ($product['option'] as $option) {
	    		 $options_names .= ' / '.$option['name'].': '.$option['option_value'];
	    	}

			// limite de 100 caracteres para a descrição do produto
			if($mb_substr){
				$description = mb_substr($product['model'].' / '.$product['name'].$options_names, 0,  100, 'UTF-8');
			}
			else{
				$description = utf8_encode(substr(utf8_decode($product['model'].' / '.$product ['name'].$options_names), 0, 100));
			}
			
	    	$item = Array(
				'id' => $product['product_id'],
				'description' => $description,
				'quantity' => $product['quantity'], 
				'amount' => $this->currency->format($product['price'], $order_info ['currency_code'], false, false)
			);
			
			// O frete será calculado pelo PagSeguro.
			if($tipo_frete){
				$peso = $this->getPesoEmGramas($product['weight_class_id'], $product['weight'])/$product['quantity'];
				$item['weight'] = round($peso);
			}

			$paymentRequest->addItem($item);
	    }

Re: [RESOLVIDO] Opções de produto no PagSeguro

Enviado: 31 Out 2014, 08:18
por Daylize
Muito bom!

Re: [RESOLVIDO] Opções de produto no PagSeguro

Enviado: 22 Jun 2016, 22:47
por foradaordem
Boa! Me poupou um trabalho de pesquisa. Obrigado por voltar e postar a solução.