2012-04-21 1 views
0

Je rencontre des problèmes avec Codeigniters Pagination Class.Codigniter Pagination - la première page reste en gras

Le problème est que "page 1" reste en gras, même si le changement dans l'URL.

Mon URL ressemble à ceci:

http://mypage.com/s/search+str/4/1

uri-> segment (3) est le per_page et le uri-> segment (4) est le numéro de page.

J'ai défini $ config ['uri_segment'] = 4; comme vous le voyez dans le code ci-dessous.

Toute personne qui pourrait voir quel est le problème avec le code?

Merci ..

/** Load The Search model **/ 
    $this->load->model('search_model'); 

    /** Perform the search **/ 
    $this->search_model->set_search_str(decode_url($str)); 

    // prettyPrint($config['per_page']); die(); 
    $offset = $this->uri->segment(4,0); 

    /** Pagination **/ 
    $this->load->library('pagination'); 
    $config = array (
      'uri_segmet'  => 4, 
      'per_page'   => $this->uri->segment(3, 25), 
      'total_rows'  => $this->search_model->get_nums(), 
      'num_links'  => 4, 
      'base_url'   => base_url()."s/{$str}/".$this->uri->segment(3, 25), 
      'use_page_numbers' => TRUE 
     ); 

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

$pagination_links = $this->pagination->create_links(); 

    $query = $this->search_model->search($config['per_page'], $offset); 

    $num_results = $this->search_model->get_nums(); 

    /** Set the theme data **/ 
    $data = array(
     'title'   => 'Search page', 
     'page'   => 'search', 
     's_str'   => decode_url($str), 
     'num_results'  => $num_results, 
     'results'  => $query['results'][0], 
     'pagination'  => $pagination_links 
    ); 

    /** Load the theme **/  
$this->load->theme($data); 

Répondre

0

Essayez d'ajouter CURRENT_PAGE dans le tableau de configuration manuellement, et le mettre à

$data['current_page'] = $this->uri->segment(4); 

Il peut travailler pour vous ..

+0

Juste essayé .. Mais ça ne semble pas fonctionner non plus? Je ne peux pas le comprendre. J'ai essayé de faire un print_r du quatrième segment d'uri même suivi d'un die(); et il obtient la valeur correcte? Cela me semble étrange .. Cela peut-il avoir quelque chose à voir avec mon base_url? – Thomas

+0

J'étais un peu trop rapide! J'ai essayé de cange 'current_page' à 'cur_page' comme le nom de la variable dans la classe de pagination, et maintenant ça marche! Étrange que je dois dire à quelle page je suis :) Merci! – Thomas

1

Si votre dossier de DB, je veux dire résultat est bon dans la page. Et vous ne rencontrez le problème avec "premier lien en gras", alors vous pouvez définir le style (CSS) de comme ci-dessous:

$ config ['first_link'] = 'First_PAGE_STYLE_CLASS';

Vous devrez faire le css comme suit: .Frist_PAGE_STYLE_CLASS {text-weight: normal; }

+0

Le principal problème n'est pas le css. C'est le problème que CI n'emballe pas le premier lien dans une balise d'ancrage, comme c'est le cas pour le reste des numéros de page. Il semble qu'il ne détecte pas que la page a changé dans le quatrième segment de l'uri. Mais je ne peux pas voir ce que je fais mal? – Thomas

Questions connexes