2013-03-01 7 views
14

Se lasciato alle impostazioni di default, quali circostanze dovrebbero accadere per Magento 1.7 per considerare un carrello abbandonato? Dov'è il codice che determina questa determinazione?Quando Magento considera un carrello da abbandonare? Dov'è il limite di tempo impostato?

So che questo è probabilmente impostato da qualche parte nella citazione, ma non riesco a trovarlo per la vita di me.

Ho fatto qualche ricerca su google, ma come tante domande su Magento, sono rimasto a mani vuote. Grazie!

risposta

11

Come probabilmente sapete l'impostazione si trova qui:

Admin => Sistema => Configurazione => Le vendite => Checkout => Quote a vita (giorni)

Questo aggiungerà l'impostazione il database (tabella core_config_data) con il percorso:

cassa/carrello/delete_quote_after

Questo percorso viene utilizzato nel codice on:

app/code/core/Mage/Vendite/Modello/Observer.php linea 54

Così, quando qualcuno sta aggiungendo qualcosa ad un carrello che sarà aggiornato. Quando un cliente effettua l'accesso e il suo carrello è lì, verrà aggiornato. Quando un carrello non viene aggiornato per gli ultimi 30 giorni. Sarà rimosso.

Ulteriori informazioni:

Nel caso in cui si chiedono quando si utilizza questo codice, è utilizzato dal cronjob di Magento.

controllo: App/codice/chiave/Mage/Vendite/etc/config.xml linea 1732

<crontab> 
    <jobs> 
     <sales_clean_quotes> 
      <schedule> 
       <cron_expr>0 0 * * *</cron_expr> 
      </schedule> 
      <run> 
       <model>sales/observer::cleanExpiredQuotes</model> 
      </run> 
     </sales_clean_quotes> 

Spero che questo aiuti.

+5

Come uno scherzo malato spesso citato, l'osservatore cancella solo gli ordini completati -> '$ quotazioni-> addFieldToFilter ('is_active', 0);' e come carrelli abbandonati non ottiene mai 'is_active' impostato da 1 a 0, carrelli ospiti abbandonati avere una capacità di sospensione infinita e dopo un anno, può consumare considerevole spazio di archiviazione del database. –

+0

Buono a sapersi. Grazie! – Kale

+0

Ho letto che "Quote Lifetime (days)" si applica solo ai clienti registrati (anonimi) nog. Ma un carrello da un utente registrato * non scade mai. Ti sei imbattuto in questa differenza di comportamento? –

0

La domanda riguardava quando un carrello viene abbandonato, non quando la quota scade. Poiché Magento non ha funzionalità di carrello abbandonate, è arbitrario. Le varie estensioni per aggiungerlo consentono di impostarlo.

+2

Magento ha una "funzionalità" di carrello abbandonata nel senso che ha carrelli che considera abbandonati, semplicemente non ha un meccanismo per fare qualsiasi cosa con detti carrelli. – Kale

0

Nel nostro e-commerce che abbiamo sovrascritto il metodo cleanExpiredQuotes all'interno app/code/core/Mage/Vendite/Modello/Observer.php

La nostra regola di business simile a questa:

$quotes = Mage::getModel('sales/quote')->getCollection();  
$quotes->addFieldToFilter('created_at', array('to'=>date("Y-m-d", time()-$lifetime))); 

$quotes->addFieldToFilter('is_active', 1); 
foreach ($this->getExpireQuotesAdditionalFilterFields() as $field => $condition) { 
    $quotes->addFieldToFilter($field, $condition); 
} 
$quotes->walk('delete'); 
Problemi correlati