1

In template All Files

../app/design/frontend/default/default/template/sales/order/history.phtml

exist string

<?php /*<span class="separator">|</span><a href="<?php echo $this->getTrackUrl($_order) ?>"><?php echo $this->__('Track Order') ?></a>&nbsp;*/ ?>

method in block

Mage_Sales_Block_Order_History

there code

public function getTrackUrl($order)
{
    return $this->getUrl('*/*/track', array('order_id' => $order->getId()));
}

but in controller

Mage_Sales_OrderController

action named trackAction() is not exist

Anybody know why method to get Url exist but action does not exist?

1 Answer 1

2

In the most recent version of Magento, the tracking is handled via a popup.

The relevant code can be found under app/design/frontend/base/default/template/sales/order/view.phtml :

    <?php if ($_order->getTracksCollection()->count()) : ?>
        <span class="separator">|</span> <a href="#" onclick="popWin('<?php echo $this->helper('shipping')->getTrackingPopupUrlBySalesModel($_order) ?>','trackorder','top=0,left=0,width=800,height=600,resizable=yes,scrollbars=yes'); return false;" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Track your order')) ?>"><?php echo $this->__('Track your order') ?></a>
    <?php endif; ?>

The getTrackUrl() method still exists but is not used anymore. Removing code is not great in software development, I reckon the Magento team should have kept the trackAction() method and marked both methods as deprecated

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.