Nó được tạo ở đâu?
Nếu bạn tìm trong app/code/core/Mage/Sales/Model/Order.php
trên dòng xung quanh 2052
, bạn sẽ tìm thấy những điều sau:
$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));
Đây là nơi protect_code
được tạo cho đơn đặt hàng (sử dụng kết hợp md5, uniqid và số nguyên ngẫu nhiên.
Nó được sử dụng để làm gì?
Nếu bạn tìm trong app/code/core/Mage/Sales/Helper/Guest.php
và tìm loadValidOrder
hàm số. Bạn sẽ thấy protect_code
được sử dụng ở một số khu vực để đảm bảo đơn hàng được tải là đơn hàng chính xác với giá trị cookie của khách.
Nó cũng được sử dụng trong các lĩnh vực khác, chẳng hạn như theo dõi so sánh thông tin. Bạn có thể thấy một số trường hợp của getProtectCode()
phương pháp được gọi trong mô hình Lô hàng để so sánh đơn đặt hàng với thông tin theo dõi. Ví dụ về một hàm sử dụng nó là:
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;
}
Như bạn có thể thấy với $this->getProtectCode() == $track->getProtectCode()
, theo dõi protect_code
phải khớp với Lô hàng protect_code
.