0

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

 <?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; ?>
4

1 回答 1

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>
于 2013-03-19T21:41:54.777 回答