どこで生成されますか?
app/code/core/Mage/Sales/Model/Order.php
を見ると 2052
行あたり 、次のようになります:
$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));
ここでprotect_code
順序に対して生成されます(md5、uniqid、およびランダム整数の組み合わせを使用します。
それは何のために使われますか?
app/code/core/Mage/Sales/Helper/Guest.php
を見ると loadValidOrder
を見つけます 働き。 protect_code
が表示されます ロードされる注文がゲストのCookie値に対して正しいものであることを確認するために一部の領域で使用されます。
また、追跡情報の比較など、他の分野でも使用されます。 getProtectCode()
のいくつかのインスタンスを見ることができます 注文を追跡情報と比較するために、Shipmentモデルで呼び出されるメソッド。これを使用する関数の例は次のとおりです。
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;
}
$this->getProtectCode() == $track->getProtectCode()
でわかるように 、トラッキングprotect_code
出荷のprotect_code
と一致する必要があります 。