サイドバーに「出荷追跡」フォームを追加する方法を誰かが教えてもらえますか?
-
16-10-2019 - |
質問
パッケージを追跡するための追跡フォームが欲しいです。
私は私のサイドバーにそのフォームを持ちたいです。
これが機能する方法です
Track your package form -> User inputs order Id -> Popup appears with tracking content
誰かがそれを実装する方法を教えてもらえますか?
解決
Magentoの店舗の追跡データは非常に限られています。追跡番号とキャリアの名前を超えて、見るべきことはあまりありませんが、これがあなたが望むデータである場合、あなたはこのようなことをします。
追跡データはテーブルに保存されます sales_flat_shipment_track
そのため、適切なリソースモデルを使用して、指定された追跡番号でコレクションをフィルタリングできます。これにより、最初のアイテムとその追跡アイテムのデータを取得できるコレクションが返されます。 (テストされていないコード、最初にテストしてください)
$tracking number = 'ABCDEFG'; // input from user
$tracking_collection = Mage::getResourceModel('sales/order_shipment_track')
->addAttributeTofilter('track_number', $tracking number);
if (!$tracking_collection->count())
{
echo "No order found";
}
else
{
$tracking_item = $collection->getFirstItem();
var_dump($tracking_item->getData());
}
ここで、ユーザーにデータを取得するフォームを提供する部分の場合、これは、フォームを含む単純なPHTMLファイルを追加することで実行できます local.xml
.
<reference name="left">
<block type="core/template" name="tracking_info" template="tracker/form.phtml"/>
</reference>
実際にフォームに上記のコードに何かを送信し、何かを返すには、おそらく投稿を処理して情報を返すコントローラーを使用して拡張機能を作成することが含まれます。これ Magento-4u チュートリアルはそれに役立つはずです。
これは、それぞれのキャリア(郵便サービス)から追跡データを取得することを意味する場合、これはあなたが使用しているキャリアに完全に依存し、この投稿で入るには少し広すぎるかもしれません。
他のヒント
これをどのように出荷していますか? UPSとそのワールドシップ製品を使用している場合、UPS Quantum Viewのデータベースに販売注文番号と請求書番号を記録するように設定できるカスタム参照フィールドを使用できます。
トラッキング結果ページはMagentoの外側にまったく外に置かれ、顧客の電子メールはUPS量子ビュートラッキングと直接インターフェイスする追跡リンクで送信できます。 OriginからUPSからの署名までの完全な追跡情報を備えた参照関数によるトラックを提供します。