私たちは、magento データベースとテーブルに取り組んでいます。Magento は、テーブルsales_flat_order
フィールドにコードを書き込んprotect_code
で、請求書または出荷が既に行われているかどうかを定義しているようです。それは次のようになります
01b335
また
a0a243
しかし、key
この保護コードの意味を理解することはできません。これらのコードの意味と、それらがどのように生成されるかについての説明はありますか?
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
を見つけたら。読み込まれる注文がゲストの Cookie 値に対して正しいものであることを確認するために、一部の領域で使用されますloadValidOrder
。protect_code
また、追跡情報の比較など、他の分野でも使用されます。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
ます。