我發現了這個問題。
總體問題是我沒有設置方法isTrackingAvailable()(在我的發貨模型中)返回true。
對於任何人想知道如何解決這個問題。
我查看了所有與shipping相關的模板文件。有一次,我發現這個文件,我發現那裏的下拉列表中創建:
<?php foreach ($this->getCarriers() as $_code=>$_name): ?>
<option value="<?php echo $_code ?>"><?php echo $_name; ?></option>
<?php endforeach; ?>
看到是正在使用$此調用之後。我做了一個echo get_class($ this)來找到調用它的類名,這是Mage_Adminhtml_Block_Sales_Order_Shipment_Create_Tracking。
在那裏我找到了getCarriers()函數。
在那裏它通過創建一個名爲Mage_Shipping_Model_Config的對象來收集所有的載體。
$carrierInstances = Mage::getSingleton('shipping/config')->getAllCarriers(
$this->getShipment()->getStoreId()
);
並調用其函數getAllCarriers()。
在這個函數中,它從db的core_config_data表中返回了所有的載體。
所以跳回到getCarriers()函數..我們現在有所有的載體。再往下看,我可以看到有一個IF語句被詢問是否載波有函數isTrackingAvailable()在返回載波之前返回true。
foreach ($carrierInstances as $code => $carrier) {
if ($carrier->isTrackingAvailable()) {
$carriers[$code] = $carrier->getConfigData('title');
}
}
如果有人有任何問題..給我發電子郵件。 [email protected](請注意,我仍在學習自己,但我會盡我所能回答任何問題)
我不知道。你有什麼樣的樣子?當我們說話時我正在四處尋找。我會發布,如果我發現任何東西 – 2010-11-07 21:26:55
也許最好的選擇是找到一個Magento Connect上的運輸模塊的社區擴展,並將其用作模型。 – 2010-11-07 22:53:53
感謝您的全力幫助。非常感謝:) – 2010-11-07 23:36:38