Step 1
Create a layout for action index: app/design/frontend/base/default/modulename.xml
<layout version="0.1.0"> <modulename_index_index> <reference name="content"> <block type="modulename/blockname" name="modulename" template="modulename/modulename.phtml" /> </reference> </modulename_index_index> </layout>
Step 2
app/code/local/Packagename/Modulename/controllers/IndexController.php
class Packagename_Modulename_IndexController extends Mage_Core_Controller_Front_Action { public function indexAction() { $this->loadLayout(); $this->renderLayout(); } }
Step 3
app/code/local/Packagename/Modulename/Block/Blockname.php
class Packagename_Modulename_Block_Blockname extends Mage_Core_Block_Template { public function __construct() { parent::__construct(); $collection = Mage::getModel('modelname/modelname')->getCollection(); $this->setCollection($collection); } }
Step 4
<?php echo $this->getPagerHtml() ?> <table id="my-data-table" class="data-table"> <colgroup> <col width="1"> <col width="1"> <col> </colgroup> <thead> <tr class="first last"> <th><?php echo $this->__('No.')?></th> <th><?php echo $this->__('Name')?></th> <th><?php echo $this->__('Time')?></th> </tr> </thead> <tbody> <?php foreach($this->getCollection() as $data): ?> <tr> <td><?php echo $person->getData('id')?></td> <td><?php echo $person->getData('name')?></td> <td><?php echo Mage::helper('core')->formatDate($data->getData('time'))?></td> </tr> <?php endforeach ?> </tbody> </table> <?php echo $this->getPagerHtml() ?> <script type="text/javascript">decorateTable('my-data-table')</script>
Step 5
app/code/local/Packagename/Modulename/Block/Blockname.php
public function _prepareLayout() { parent::_prepareLayout(); $pager = $this->getLayout()->createBlock('page/html_pager', 'block.pager')->setCollection($this->getCollection()); $this->setChild('pager', $pager); return $this; } public function getPagerHtml() { return $this->getChildHtml('pager'); }