Mysql
 sql >> Base de données >  >> RDS >> Mysql

table magento champs sales_flat_order protect_code explication

Où est-il généré ?

Si vous regardez dans app/code/core/Mage/Sales/Model/Order.php autour de la ligne 2052 , vous trouverez les éléments suivants :

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

C'est là que protect_code est généré pour la commande (en utilisant une combinaison de md5, uniqid et nombre entier aléatoire.

À quoi sert-il ?

Si vous regardez dans app/code/core/Mage/Sales/Helper/Guest.php et trouvez le loadValidOrder une fonction. Vous verrez protect_code utilisé dans certaines régions pour s'assurer que la commande en cours de chargement correspond à la valeur de cookie du client.

Il est également utilisé dans d'autres domaines, tels que le suivi des comparaisons d'informations. Vous pouvez voir plusieurs instances de getProtectCode() méthode appelée dans les modèles d'expédition pour comparer la commande aux informations de suivi. Un exemple de fonction qui l'utilise est :

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;
}

Comme vous pouvez le voir avec $this->getProtectCode() == $track->getProtectCode() , le suivi protect_code doit correspondre à l'envoi protect_code .