Di mana itu dihasilkan?
Jika Anda melihat di app/code/core/Mage/Sales/Model/Order.php di sekitar baris 2052 , Anda akan menemukan yang berikut:
$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));
Di sinilah protect_code dihasilkan untuk pesanan (menggunakan kombinasi md5, uniqid, dan bilangan bulat acak.
Untuk apa itu?
Jika Anda melihat di app/code/core/Mage/Sales/Helper/Guest.php dan temukan loadValidOrder fungsi. Anda akan melihat protect_code digunakan di beberapa area untuk memastikan pesanan yang dimuat adalah pesanan yang benar untuk nilai cookie tamu.
Ini juga digunakan di area lain, seperti melacak perbandingan informasi. Anda dapat melihat beberapa contoh getProtectCode() metode yang dipanggil dalam model Pengiriman untuk membandingkan pesanan dengan informasi pelacakan. Contoh fungsi yang menggunakannya adalah:
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;
}
Seperti yang Anda lihat dengan $this->getProtectCode() == $track->getProtectCode() , pelacakan protect_code harus cocok dengan Pengiriman protect_code .