2016-02-13 4 views
1

У меня есть проблемы с uri_string() и пагинацией с CodeIgniterCodeigniter: URL Helper с пагинацией

Мой код:

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

Мой текущий URL (страница 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 

Но я хочу corecting, что 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/'; 
} 

Но я думаю, что есть другой, более простой способ, а не использовать, если заявление, как это, кто? Благодаря


ОК, наконец, я с помощью замены заявление, так как ни кто не даст момент здесь

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

Можете ли вы изменить свой вопрос и добавить полный код разбивки на страницы с контроллера. – user4419336

+0

У меня нет проблем с разбиением на страницы, он отлично работает. – Vinsens

+0

Pagination перестает работать, если вы удаляете сегмент с номером страницы. – Tpojka

ответ

0

Вы можете передать этот код. Это я сделал разбивку на страницы в 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'); 
    } 
Смежные вопросы