2015-10-13 1 views
0

J'ai un problème avec ma pagination dans codeigniter.Insérez #anchor dans l'URL finale avec la pagination codeigniter

Ma pagination est dans un #section et lorsque je change la pagination de la page recharger dans l'en-tête, j'ai besoin d'ajouter #anchor dans l'URL finale.

En ce moment, mon url est:

http://localhost/php_focas/index.php?per_page=3

Et je dois ceci:

http://localhost/php_focas/index.php?per_page=3#agenda

Son mon contrôleur:

$urlPaginacao = site_url(); 

//PAGINAÇÃO ***** 

    $get_total_results = $this->admin_model->mostrarAgenda(); 
    $totalResultados = $get_total_results['total']; 
    $getPaginacao = $this->paginacao($urlPaginacao,$totalResultados, 3); 

    $getEventos = $this->admin_model->mostrarAgenda($getPaginacao['inicio'], $getPaginacao['quantidadeResultados']); 

    $data['district'] = $this->admin_model->mostrarDistrict(); 
    $data['local'] = $this->admin_model->mostrarLocal(); 
    $data['life'] = $this->admin_model->mostrarLife(); 
    $data['useful'] = $this->admin_model->mostrarUseful(); 
    $data['agenda'] = $getEventos['dadosGerais']; //dados gerais do model 
    $data['pag'] = $getPaginacao['paginacao']; 

    $this->load->view('index', $data); 

} 

public function paginacao($urlPaginacao, $totalResultados, $resultadosPorPagina = 3){ 

    $config['base_url'] = $urlPaginacao; 
    $config['total_rows'] = $totalResultados; 
    $config['per_page'] = $resultadosPorPagina; 
    $config['page_query_string'] = TRUE; 

    $config['full_tag_open'] = "<ul class='pagination pagination-sm'>"; 
    $config['full_tag_close'] ="</ul>"; 
    $config['num_tag_open'] = '<li>'; 
    $config['num_tag_close'] = '</li>'; 
    $config['cur_tag_open'] = "<li class='active disable'><a>"; 
    $config['cur_tag_close'] = "</a></li>"; 
    $config['next_tag_open'] = "<li>"; 
    $config['next_tagl_close'] = "</li>"; 
    $config['prev_tag_open'] = "<li>"; 
    $config['prev_tagl_close'] = "</li>"; 
    $config['first_tag_open'] = "<li>"; 
    $config['first_tagl_close'] = "</li>"; 
    $config['last_tag_open'] = "<li>"; 
    $config['last_tagl_close'] = "</li>"; 

    $config['first_link'] = TRUE; 
    $config['last_link'] = TRUE; 

    $quantidade = $resultadosPorPagina; 
    $this->pagination->initialize($config); 

    $data['quantidadeResultados'] = $quantidade; 
    $data['inicio'] = $this->input->get('per_page') != NULL ? $this->input->get('per_page') : '0'; 
    $data['paginacao'] = $this->pagination->create_links(); 
    return $data; 

} 

Et c'est mon modèle:

public function mostrarAgenda($inicio=NULL, $quantidade=NULL){ 

    $inicio = $inicio != NULL ? "LIMIT {$inicio},{$quantidade}" : ""; 

    $sqlGeral = "SELECT * FROM tblagenda {$inicio}"; 

    $queryGeral = $this->db->query($sqlGeral); 
    $data['inicio'] = $inicio; 
    $data['total'] = $queryGeral->num_rows(); 
    $data['dadosGerais'] = $queryGeral->result(); 

    return $data; 
} 

Répondre

3

La solution a été d'ajouter le code suivant dans mon contrôleur dans la fonction pagination():

$config['suffix'] = '#agenda'; 

Espérons que cela aidera quelqu'un à l'avenir.