I am new to magento.I am trying to create a view for the purchase history for users.Already there is a page to display this(As I am using a template).But as a experiment I tried to create a new page with the same content.As my first step. I created a new php block and then I copied same the content from the old purchase history file to the new one(Without any change).Then I called that block in a cms page.But when I called the url of the new page,It gives this error
Fatal error: Call to a member function getSize() on null in /home/bvbellpm/public_html/newtrades/app/design/frontend/base/default/template/customer/form/purchasehistory.phtml on line
This is the code which I used to display the history
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
<?php $_orders = $this->getOrders(); ?>
<div class="page-title">
<h1><?php echo $this->__('My Orders') ?></h1>
</div>
<?php echo $this->getPagerHtml(); ?>
<?php if($_orders->getSize()>0): ?>
<table class="data-table" id="my-orders-table">
<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><span class="nobr"><?php echo $this->__('Order Status') ?></span></th>
<th> </th>
</tr>
</thead>
<tbody>
<?php $_odd = ''; ?>
<?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()) : ' ' ?></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 /*<span class="separator">|</span><a href="<?php echo $this->getTrackUrl($_order) ?>"><?php echo $this->__('Track 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>
But this same code works fine in the old purchase history file.Why is this not working in the new page? .I think $this->getOrders() is returning a null object.But it is working fine in the old page.As far as I know $this->getOrders() is a magic method in Magento.So I think it can be used any where.Can someone explain me the reason for this odd behavior?