我是 Magento 的新手。我正在使用以下代码
显示最新添加的产品<?php
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->setVisibility(array(2,3,4))
->setOrder('created_at', 'desc')
->setPage(1, 6);
?>
我需要在此页面上显示分页。
任何一个人为此讲述简单的代码/想法?
答案 0 :(得分:2)
以下是需要遵循的步骤 -
第1步:控制器: 首先在我们的IndexController中,我们将简单地加载布局并渲染它。
<?php
class Test_Collection_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$this->loadLayout();
$this->renderLayout();
}
}
第2步:布局: 在我们的模块布局文件中,即collection.xml,这是要放置的代码
<?xml version="1.0"?>
<layout version="0.1.0">
<collection_index_index>
<reference name="content">
<block type="collection/collection" name="collection" template="collection/collection.phtml" />
</reference>
</collection_index_index>
</layout>
第3步:阻止: 接下来,我们将创建我们的块'集合/集合',其中分页的主要代码。
<?php
class Test_Collection_Block_Collection extends Mage_Core_Block_Template
{
public function __construct()
{
parent::__construct();
$collection = Mage::getModel('collection/collection')->getCollection();
$this->setCollection($collection);
}
protected function _prepareLayout()
{
parent::_prepareLayout();
$pager = $this->getLayout()->createBlock('page/html_pager', 'custom.pager');
$pager->setAvailableLimit(array(5=>5,10=>10,20=>20,'all'=>'all'));
$pager->setCollection($this->getCollection());
$this->setChild('pager', $pager);
$this->getCollection()->load();
return $this;
}
public function getPagerHtml()
{
return $this->getChildHtml('pager');
}
}
正如您在上面的代码中看到的,我们为寻呼机创建了一个块并在其中设置了我们的集合。
Step4:phtml文件: 接下来在我们的collection.phtml文件中,我们需要输入此代码
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
<?php $collection = $this->getCollection(); ?>
<div class="page-title">
<h1><?php echo $this->__('My Collection') ?></h1>
</div>
<?php echo $this->getPagerHtml(); ?>
<?php if($collection->getSize()): ?>
<table class="data-table" id="my-custom-table">
<col width="1" />
<col width="1" />
<col />
<col width="1" />
<col width="1" />
<col width="1" />
<thead>
<tr>
<th><?php echo $this->__('ID #') ?></th>
<th><?php echo $this->__('Title') ?></th>
<th><span class="nobr"><?php echo $this->__('Created') ?></span></th>
</tr>
</thead>
<tbody>
<?php $_odd = ''; ?>
<?php foreach ($collection as $_obj): ?>
<tr>
<td><?php echo $_obj->getCollectionId() ?></td>
<td><span class="nobr"><?php echo $_obj->getTitle(); ?></span></td>
<td><?php echo $this->formatDate($_obj->getCreatedTime()) ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<script type="text/javascript">decorateTable('my-custom-table');</script>
<?php echo $this->getPagerHtml(); ?>
<?php else: ?>
<p><?php echo $this->__('The collection is empty.'); ?></p>
<?php endif ?>
这就是所需要的,现在分页应显示在您的收藏中。