0

我目前在 pyrocms 页面上显示产品列表。使用插件我从数据库表中获取产品并将它们显示为我想使用分页但不知道如何使用它以及从哪里开始的列表。有没有人知道任何教程或有一些建议?

4

2 回答 2

1

您不需要加载分页库或初始化它。它与您在常规 codeigniter 中所做的有点不同,您也可以肯定地使用您在codeigniter 分页类中的方式

我通常这样做是为了分页。

在你的控制器中使用这个

    ....
    // Create pagination links
    $total_rows = $this->products_m->count_all_products();
    $pagination = create_pagination('products/list', $total_rows);
    //notice that product/list is your controller/method you want to see pagination there        

    // Using this data, get the relevant results
    $params = array(
        'limit' => $pagination['limit']
    );
    $this_page_products = $this->product_m->get_all_products($params);
    ....
    //you got to pass $pagination to the view
    $this->template
            ->set('pagination', $pagination)
            ->set('products', $this_page_products)
            ->build('products/view');

显然,您将有一个名为products_m At your model 这将是您的get_all_products功能的模型,我相信您也可以构建该count_all_products()功能

private function get_all_products($params){
 //your query to get products here
 // use $this->db->limit();

 // Limit the results based on 1 number or 2 (2nd is offset)
        if (isset($params['limit']) && is_array($params['limit']))
                $this->db->limit($params['limit'][0], $params['limit'][1]);
        elseif (isset($params['limit']))
                $this->db->limit($params['limit']);
 //rest of your query and return
}

现在在您的视图中,您必须foreach在传递的$products变量中显示分页链接,在您的视图中使用这一行

<?php echo $pagination['links'];?>

我在我的作品中使用它,希望它有帮助。

于 2012-08-24T00:25:27.797 回答
0

Pyrocms 使用了 codeigniter 框架,这个代码在模块的情况下工作得很好,但我从来没有在插件上尝试过这个,但你仍然可以尝试这个。

在 Controller 中加载分页库

$this->load->library('pagination');

$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20;

$this->pagination->initialize($config);

在视图中使用此代码生成链接

echo $this->pagination->create_links();
于 2012-08-23T08:07:46.190 回答