Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Item antes de logar e depois de logar (Resolvido!)
 
Anderson Cristian
Jr. Member
 
Total Posts:  5
Joined:  2009-04-09
 

O magento altera o ID dos items e do quote adicionados ao carrinho de compras após o cliente se loga no sistema, alguém sabe aonde o magento faz essa alteração?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Carlos Teixeira
Sr. Member
 
Total Posts:  95
Joined:  2009-01-26
Brasil
 

Fala @Anderson blz ?

Sua questão esta muito vaga, tente especificar melhor o q vc esta tentando realizar quem sabe assim e o pessoal do fórum possa te ajudar, de qualquer forma o ID do “quote” e armazenado na sessão.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Anderson Cristian
Jr. Member
 
Total Posts:  5
Joined:  2009-04-09
 

Obrigado pela dica, vou deixar mais mastigado.

Quando vc adiciona um item ao carrinho ele é salvo na tabela sales_flat_quote_item com um item_id e quote_id (Antes de logar) quando vc se logar no sistema o magento pega esse item_id e quote_id e altera para o customer.
Atualmente eu consegui descobrir onde é feito essa alteração.

no arquivo
app/code/Mage/checkout/Model/Session.php

/**
     * Load data for customer quote and merge with current quote
     *
     * @return Mage_Checkout_Model_Session
     */
    public function loadCustomerQuote()
    
{
        $customerQuote 
Mage::getModel('sales/quote')
            ->
setStoreId(Mage::app()->getStore()->getId())
            ->
loadByCustomer(Mage::getSingleton('customer/session')->getCustomerId());
    -------->
QUOTE ANTES DE LOGAR != QUOTE DO USUARIO LOGADO <--------
        if (
$this->getQuoteId() != $customerQuote->getId()) {
            
if ($this->getQuoteId()) {
                $customerQuote
->merge($this->getQuote())
                    ->
collectTotals()
                    ->
save();            
            
}            
            
            $this
->setQuoteId($customerQuote->getId());

            if (
$this->_quote{
                $this
->_quote->delete();
            
}
            $this
->_quote $customerQuote;

            
        
}
        
return $this;
    
}
 
Magento Community Magento Community
Magento Community
Magento Community
 
Carlos Teixeira
Sr. Member
 
Total Posts:  95
Joined:  2009-01-26
Brasil
 

Olá, @Anderson.

Você conseguiu achar a resposta para o q esta procurando ?

Isso acontece pq o magento recupera sua “quote” (quando vc não finaliza a compra) da sua ultima visita e junta com a atual, isso a vezes é até um problema pois tenho 1 produto no carrinho e quando efetuo login tenho 4.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Anderson Cristian
Jr. Member
 
Total Posts:  5
Joined:  2009-04-09
 

Sim consegui, fiquei me batendo um pouco até achar onde ele fazia essa troca, acho um pouco desnecessário mas para o usuário deve ser bom, caso ele feche a tela ou ter uma queda de luz isso é bacana, acaba salvando as últimas inclusões.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top