gpt4 book ai didi

magento 对自定义集合进行分页

转载 作者:行者123 更新时间:2023-12-02 04:51:54 25 4
gpt4 key购买 nike

我有一个自定义页面,我通过将模型与品牌交叉来使用自定义查询显示自定义产品。我现在有一系列产品 ID,但我似乎无法弄清楚如何实现 magento 的默认分页系统。

如有任何帮助,我们将不胜感激。

提前致谢

最佳答案

第一步: Controller (IndexController.php)文件在索引 Controller 中,只需加载布局并渲染它。

<?php
class Abc_Example_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$this->loadLayout();
$this->renderLayout();
}
}
?>

第二步:布局(custom.xml)文件将下面给定的代码放在模块的布局文件中。

<?xml version="1.0"?>
<layout version="0.1.0">
<example_index_index>
<reference name="content">
<block type="example/collection" name="collection" template="example/collection.phtml" />
</reference>
</example_index_index>
</layout>

这是 block 的代码,您可以在其中定义集合

<?php
class Abc_Example_Block_Collection extends Mage_Core_Block_Template
{
public function __construct()
{
parent::__construct();
$collection = Mage::getModel('example/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');
}
}

您必须根据您的要求定义返回产品 ID 的自定义集合。在上面的代码中这是 phtml 文件,您可以在其中获得分页

<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
<?php $collection = $this->getCollection(); ?>
<div>
<h1><?php echo $this->__('My Custom Collection') ?></h1>
</div>
<?php echo $this->getPagerHtml(); ?>
<?php if($collection->getSize()): ?>
<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><?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><?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 ?>

希望对你有帮助

关于magento 对自定义集合进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18664130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com