2013-03-12 81 views
0

我正在编辑sales/order/recent.phtml客户仪表板的模板文件。我希望跟踪号码和跟踪链接显示在最近的订单下。我已经尝试了以下,但getAllTracks不抓住任何东西。思考?Magento客户仪表板跟踪号码

<?php foreach ($_orders as $_order): ?> 
       <tr> 
        <td><?php echo $_order->getRealOrderId() ?></td> 
        <td><span class="nobr"><?php echo $this->formatDate($_order->getCreatedAtStoreDate()) ?></span></td> 
        <td><?php echo $_order->getShippingAddress() ? $this->htmlEscape($_order->getShippingAddress()->getName()) : '&nbsp;' ?></td> 
        <td><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></td> 
        <td><em><?php echo $_order->getStatusLabel() ?></em></td> 
        <td class="a-center"> 
         <span class="nobr"> 
         <a href="<?php echo $this->getViewUrl($_order) ?>"><?php echo $this->__('View Order') ?></a> 
         <?php if ($this->helper('sales/reorder')->canReorder($_order)) : ?> 
          <span class="separator">|</span> <a href="<?php echo $this->getReorderUrl($_order) ?>" class="link-reorder"><?php echo $this->__('Reorder') ?></a> 
         <?php endif ?> 
         </span> 
        </td> 
       </tr> 
       <tr> 

       <?php $collection = Mage::getResourceModel('sales/order_shipment_collection'); 
       $collection->addAttributeToFilter('order_id', $_order->getRealOrderId()); ?> 

       <?php foreach($collection as $_ship): ?> 
       <?php var_dump($_ship->getAllTracks())?> 
        <?php $i=0; foreach ($_ship->getAllTracks() as $_item): $i++ ?> 
         <?php $url = $this->helper('shipping')->getTrackingPopupUrlBySalesModel($_order) ?> 
         <?php echo "URL is". $url ?> 
         <?php if ($url): ?> 
         <td align="center" valign="top" style="padding:3px 9px"><a href="<?=$url?>"><?php echo $_item->getNumber() ?></a></td> 
         <?php else: ?> 
         <td align="center" valign="top" style="padding:3px 9px"><?php echo $_item->getNumber() ?></td> 
         <?php endif; ?> 
        <?php endforeach ?> 
        <!---<a href="" class="link-track">Track</a> ---> 
       <?php endforeach; ?> 



       </tr> 
      <?php endforeach; ?> 

回答

0

最终成为一个非常短的代码行将链接放在那里。我懒得继续努力获取追踪号码。我把链接放在倒数第二列。

<div class="box-account box-recent"> 
<?php $_orders = $this->getOrders(); ?> 
    <div class="box-head"> 
     <h2><?php echo $this->__('Recent Orders') ?></h2> 
     <?php if(sizeof($_orders->getItems()) > 0): ?><a href="<?php echo $this->getUrl('sales/order/history') ?>"><?php echo $this->__('View All') ?></a><?php endif; ?> 
    </div> 
<?php if(sizeof($_orders->getItems()) > 0): ?> 
    <table class="data-table" id="my-orders-table"> 
    <col width="1" /> 
    <col width="1" /> 
    <col /> 
    <col width="1" /> 
    <col width="1" /> 
    <col width="1" /> 
     <thead> 
      <tr> 
       <th><?php echo $this->__('Order #') ?></th> 
       <th><?php echo $this->__('Date') ?></th> 
       <th><?php echo $this->__('Ship To') ?></th> 
       <th><span class="nobr"><?php echo $this->__('Order Total') ?></span></th> 
       <th><?php echo $this->__('Status') ?></th> 
       <th><?php echo $this->__('Track') ?></th> 
       <th>&nbsp;</th> 
      </tr> 
     </thead> 
     <tbody> 
      <?php foreach ($_orders as $_order): ?> 
       <tr> 
        <td><?php echo $_order->getRealOrderId() ?></td> 
        <td><span class="nobr"><?php echo $this->formatDate($_order->getCreatedAtStoreDate()) ?></span></td> 
        <td><?php echo $_order->getShippingAddress() ? $this->htmlEscape($_order->getShippingAddress()->getName()) : '&nbsp;' ?></td> 
        <td><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></td> 
        <td><em><?php echo $_order->getStatusLabel() ?></em></td> 
        <td> 
        <?php if ($_order->getTracksCollection()->count()) : ?> 
        <a href="#" style="color:green; font-weight:bold" id="linkId" onclick="popWin('<?php echo $this->helper('shipping')->getTrackingPopupUrlBySalesModel($_order) ?>','trackorder','width=800,height=600,resizable=yes,scrollbars=yes')" title="<?php echo $this->__('Track Order') ?>"><?php echo $this->__('Track Order Shipment') ?></a> 
        <br/> 
        <?php endif; ?> 
        </td> 
        <td class="a-center"> 
         <span class="nobr"> 
         <a href="<?php echo $this->getViewUrl($_order) ?>"><?php echo $this->__('View Order') ?></a> 
         <?php if ($this->helper('sales/reorder')->canReorder($_order)) : ?> 
          <span class="separator">|</span> <a href="<?php echo $this->getReorderUrl($_order) ?>" class="link-reorder"><?php echo $this->__('Reorder') ?></a> 
         <?php endif ?> 
         </span> 
        </td> 

       </tr> 




      <?php endforeach; ?> 
     </tbody> 
    </table> 
    <script type="text/javascript">decorateTable('my-orders-table')</script> 
<?php else: ?> 
    <p><?php echo $this->__('You have placed no orders.'); ?></p> 
<?php endif; ?> 
</div>