Mysql
 sql >> Database >  >> RDS >> Mysql

tabella magento sales_flat_order campo protect_code spiegazione

Dove viene generato?

Se guardi in app/code/core/Mage/Sales/Model/Order.php intorno alla riga 2052 , troverai quanto segue:

$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));

Qui è dove protect_code viene generato per l'ordine (usando una combinazione di md5, uniqid e numero intero casuale.

A cosa serve?

Se guardi in app/code/core/Mage/Sales/Helper/Guest.php e trova il loadValidOrder funzione. Vedrai protect_code utilizzato in alcune aree per garantire che l'ordine in fase di caricamento sia quello corretto per il valore del cookie dell'ospite.

Viene utilizzato anche in altre aree, come il monitoraggio dei confronti delle informazioni. Puoi vedere diverse istanze di getProtectCode() metodo chiamato nei modelli di spedizione per confrontare l'ordine con le informazioni di tracciabilità. Un esempio di una funzione che lo utilizza è:

public function getTrackingInfoByTrackId()
{
    $track = Mage::getModel('sales/order_shipment_track')->load($this->getTrackId());
    if ($track->getId() && $this->getProtectCode() == $track->getProtectCode()) {
        $this->_trackingInfo = array(array($track->getNumberDetail()));
    }
    return $this->_trackingInfo;
}

Come puoi vedere con $this->getProtectCode() == $track->getProtectCode() , il protect_code di monitoraggio deve corrispondere al protect_code della spedizione .