Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

iFull

Preciso listar produtos do carrinho, só estar pegando o ultimo.

Recommended Posts

Olá, preciso pegar a lista de produtos no carrinho, ele só está pegando o valor do ultimo produto.

<?php
$carrinho = $_SESSION["carrinho"];


foreach ($carrinho as $itemp) { 
/** INICIO PROCESSO PAGSEGURO */
    
 $cursos = Array(
 'id' => $itemp->produto->codigo, // identificador
 'description' => $itemp->produto->titulo, // descrição
 'quantity' => $itemp->quantidade, // quantidade
 'amount' => number_format($itemp->produto->preco,2,".", "."), // valor unitário
 'weight' => 0 // peso em gramas
);

}
?>

Não sei mais o que fazer. ele só passa os dados de 1 produto, ou repete infinito para o pagseguro.


O código todo é esse.

<?php
include 'header.php';
require_once 'PagSeguroLibrary/PagSeguroLibrary.php';
if(!(isset($_SESSION["cliente"]) || isset($_SESSION["carrinho"])))
{
    ?>
<script>
    document.location.href="cursos.php";
</script>
<?php
}
?>
<?php
$carrinho = $_SESSION["carrinho"];
$paymentrequest = new PagSeguroPaymentRequest();

foreach ($carrinho as $itemp) { 
/** INICIO PROCESSO PAGSEGURO */
$cursos = Array(
 'id' => $itemp->produto->codigo, // identificador
 'description' => $itemp->produto->titulo, // descrição
 'quantity' => $itemp->quantidade, // quantidade
 'amount' => number_format($itemp->produto->preco,2,".", "."), // valor unitário
 'weight' => 0 // peso em gramas
);
}
echo '$cursos';
?>

<?php
foreach ($cursos as $data) {

$item = new PagSeguroItem($cursos); 
$paymentrequest->addItem($item);
}
?>

<?php


//Definindo moeda
$paymentrequest->setCurrency('BRL');
 
// 1- PAC(Encomenda Normal)
// 2-SEDEX
// 3-NOT_SPECIFIED(Não especificar tipo de frete)
$paymentrequest->setShipping(3);
//Url de redirecionamento
//$paymentrequest->setRedirectURL($redirectURL);// Url de retorno
 
$credentials = PagSeguroConfig::getAccountCredentials();//credenciais do vendedor
 
//$compra_id = App_Lib_Compras::insert($produto);
//$paymentrequest->setReference($compra_id);//Referencia;
 
$url = $paymentrequest->register($credentials);
 
header("Location: $url");

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... posso estar enganado, mas pelo que entendi você esta sobrescrevendo seu array $cursos dentro do foreache do $carrinho.

 

Tente assim:

$cursos = array();
foreach ($carrinho as $itemp) { 
/** INICIO PROCESSO PAGSEGURO */
$cursos[] = Array(
 'id' => $itemp->produto->codigo, // identificador
 'description' => $itemp->produto->titulo, // descrição
 'quantity' => $itemp->quantidade, // quantidade
 'amount' => number_format($itemp->produto->preco,2,".", "."), // valor unitário
 'weight' => 0 // peso em gramas
);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.