在Drupal中创建分页(不是有db_select()和PagerDefault)
时间:2020-03-05 15:25:31 来源:igfitidea点击:
分页器:对网络来说不是什么新鲜词,它在减少长时间滚动和改善视觉效果方面起着重要作用。
我的站点中的一个页面列出了基于统计的详细信息。
这是没有吸引力,继续与这个页面有近100多个项目显示。
在这一点上,我突然有了一个想法,在分页器的帮助下拆分统计数据。
我认为Drupal中的PagerDefault可以帮我一把,所以我对这个决定感到非常兴奋。
但后来我意识到不能在我的案例中使用相同的方法,因为它没有与任何查询一起呈现。
我的页面中只有一个由一个主题表()呈现的数组,为此构建一个分页器证明了我的决定是非常艰难的。
我千方百计选择最好的办法来解决我的需要。
最后我找到了一个解决方案并创建了一个分页器。
下面提到的代码被证明是有价值的解决方案。
$per_page = 10; // Initialize the pager $current_page = pager_default_initialize(count($rows), $per_page); // Split your list into page sized chunks $chunks = array_chunk($rows, $per_page, TRUE); // Show the appropriate items from the list $output = theme('table', array('header' => $header, 'rows' => $chunks[$current_page])); // Show the pager $output .= theme('pager', array('quantity',count($rows)));
前面提到的Page_default_initialize()初始化页面的分页器。
在我的例子中,第一个参数是要分页的项目总数。
我使用array_chunk()将这些项目分解为大小为10的数组。
上述函数可以在模块级或者模板级的相应主题函数中使用。
一旦完成分页器必须开始在情况下也工作。