【问题标题】:Codeigniter: URL Helper with paginationCodeigniter:带分页的 URL 助手
【发布时间】:2016-05-24 14:26:36
【问题描述】:

我对 uri_string() 和使用 codeigniter 的分页有疑问

我的代码是:

<?php echo anchor(site_url(uri_string().'/'.$item->url_product),$item->name_product);?>

我当前的网址(第 2 页,$config['per_page'] = 3):

http://localhost:8080/ci/index.php/product/phone/page/3/

运行代码并获取产品 URL 的结果(因为我使用了分页):

http://localhost:8080/ci/index.php/product/phone/page/3/lumia_950_xl

但是,我想像这样更正那个 URL:

http://localhost:8080/ci/index.php/product/phone/lumia_950_xl

我想在输出中消除page/3/。我该如何解决?


现在在我的脑海里

(if any 'page/3/' string at site_url())
{
   delete 'page/3/';
}

但我认为还有另一种更简单的方法,而不是使用这样的 if 语句,有人吗?谢谢


好的,最后我使用了替换语句,因为这里没有人指出

$url_produk = uri_string();
$patern_url[0] = '(\/page\/\d)';
$patern_url[1] = '(\/page)';
$url_produk = preg_replace($patern_url, '', $url_produk);

【问题讨论】:

  • 你能编辑你的问题并从控制器添加你的完整分页代码吗?
  • 我在分页方面没有任何问题,它完美地工作。
  • 如果您从中删除带有页码的段,分页应该会停止工作。
  • 编写自己的分页。如果不使用服务器端方法但也可以使用 javascript 完成,则不清楚您希望分页如何工作
  • 我可以建议另一种设置分页的方法吗?

标签: php codeigniter url-rewriting pagination


【解决方案1】:

您可以参考此代码。 这是我在 Codeigniter 中完成的分页。

public function managecategory() {
        $this->load->helper(array('form', 'url'));
        $this->load->view('moderator/templates/header');
        $this->load->view('moderator/templates/sidebar');
        $parent = '0';
        $data['catdata'] = $this->b2bcategory_model->form_select($parent);
        $this->load->library('pagination');
        // bootstrap style for maintaining pagination
        $config = array();
        $config["base_url"] = base_url() . "moderator/B2BCategory/managecategory";
        $config["total_rows"] = $this->b2bcategory_model->record_count();
        $config["per_page"] = 20;
        $config["uri_segment"] = 4;
        $config['full_tag_open'] = '<ul class="pagination">';
        $config['full_tag_close'] = '</ul>';
        $config['first_link'] = 'first';
        $config['last_link'] = 'last';
        $config['first_tag_open'] = '<li>';
        $config['first_tag_close'] = '</li>';
        $config['prev_link'] = '&laquo';
        $config['prev_tag_open'] = '<li class="prev">';
        $config['prev_tag_close'] = '</li>';
        $config['next_link'] = '&raquo';
        $config['next_tag_open'] = '<li>';
        $config['next_tag_close'] = '</li>';
        $config['last_tag_open'] = '<li>';
        $config['last_tag_close'] = '</li>';
        $config['cur_tag_open'] = '<li class="active"><a href="#">';
        $config['cur_tag_close'] = '</a></li>';
        $config['num_tag_open'] = '<li>';
        $config['num_tag_close'] = '</li>';
        $this->pagination->initialize($config);
        $page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
        $data["results"] = $this->b2bcategory_model->fetch_data($config["per_page"], $page);
        $data["links"] = $this->pagination->create_links();
        $this->load->view('moderator/managecategory', $data);
        $this->load->view('moderator/templates/footer');
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2012-02-20
    • 1970-01-01
    相关资源
    最近更新 更多