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
.