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 .