codeigniter нумерация страниц не работает категория получить пост пост - PullRequest
0 голосов
/ 31 декабря 2018

контроллер: категория получить данные поста.но как настроить просмотр: просмотр страницы ее работы. но когда снова нажмите на вторую страницу, она не работает

я попробовал аргумент -> $ offset = 0

public function posts($id){
    $config['base_url'] = base_url().'posts/category/';
    $config['total_rows'] = $this->db->count_all('posts');
    $config['per_page'] = 4;
    $config['uri_segment'] = 3;
    $config['attributes'] = array('class' => 'pagination-link');
    // Initialize
    $this->pagination->initialize($config);

    $data['title'] = $this->category_model->get_category($id)->name;
    $data['posts'] = $this->post_model->get_posts_by_category($config['per_page'], $id);

    $this->load->view('templates/header');
    $this->load->view('posts/category', $data);
    $this->load->view('templates/footer');
}

Ответы [ 3 ]

0 голосов
/ 31 декабря 2018

Может быть, таким образом это поможет вам, в контроллере:

$config = array();
$config["base_url"] = base_url() . "index.php/pagination_controller/contact_info";
$total_row = $this->pagination_model->record_count();
$config["total_rows"] = $total_row;
$config["per_page"] = 1;
$config['use_page_numbers'] = TRUE;
$config['num_links'] = $total_row;
$config['cur_tag_open'] = '&nbsp;<a class="current">';
$config['cur_tag_close'] = '</a>';
$config['next_link'] = 'Next';
$config['prev_link'] = 'Previous';

$this->pagination->initialize($config);
if($this->uri->segment(3)){
$page = ($this->uri->segment(3)) ;
}
else{
$page = 1;
}
$data["results"] = $this->pagination_model->fetch_data($config["per_page"], $page);
$str_links = $this->pagination->create_links();
$data["links"] = explode('&nbsp;',$str_links );

// View data according to array.
$this->load->view("pagination_view", $data);

Здесь замените pagination_model на вашу модель.

Теперь в вашем файле представления просто зациклите его по ссылкам:

<div id="pagination">
<ul class="tsc_pagination">

<!-- Show pagination links -->
<?php foreach ($links as $link) {
echo "<li>". $link."</li>";
} ?>
</ul>
</div>
0 голосов
/ 31 декабря 2018

Вы сказали, что он показывает 404, и это означает, что он был перенаправлен на неправильный URL-адрес и не может достичь вашего контроллера, и это вообще не зависит от полученных вами данных из вашей модели.

Возможно, естьчто-то не так с вашим base_url, поэтому убедитесь, что он перенаправлен на BASE_URL/posts/category/NUMBER.

А с вашими другими настройками нумерации страниц все в порядке.

0 голосов
/ 31 декабря 2018

попробуйте это:

 $config = array();
 $config["base_url"] = base_url() . "posts/category";
  $config["total_rows"] = $this->post_model->record_count();
   $config["per_page"] = 4;
   $config["uri_segment"] = 3;
   $this->pagination->initialize($config);
  $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
  $data["results"] = $this->post_model->
  get_posts_by_category($config["per_page"], $page);
  $data["links"] = $this->pagination->create_links();
  $this->load->view('templates/header');
    $this->load->view('posts/category', $data);
    $this->load->view('templates/footer');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...