CodeIgniterページングモジュールに問題があります。コードイグナイタページネーション404エラー
リンクをクリックすると404エラーが表示されます。私が理解しているように、私は間違っているかもしれませんが、オフセットを決定するURIセグメントがコントローラのインデックス関数の中で読み取られていないように見え、そのコードイグナイタはコントローラー内の関数としてこれを実際に探しています404それを見つけることができないとき。
私はGoogle検索し、解決策を見つけるためにフォーラムでチェックしたが、何も成功していない。もし誰かがヒントやヒントを持っていれば、私のコントローラ、モデル、ビューの関連コードを以下に掲載しました。
//コントローラ
$this->load->library('pagination');
$config['base_url'] = '/yourhistory/';
$config['total_rows'] = $this->db->get('gallery')->num_rows();
$config['per_page'] = 3;
$config['uri_segment'] = 2;
$this->pagination->initialize($config);
$data['galleryitems'] = $this->pages_model->get_gallery($config['per_page'], $config['uri_segment']);
$this->load->view('/gallery', $data);
//モデル
function get_gallery($limit, $segment)
{
$query = $this->db->get('gallery', $limit, $this->uri->segment($segment));
if ($query->num_rows > 0)
{
foreach($query->result() as $row)
{
$data[] = $row;
}
return $data;
}
}
//ビュー
echo $this->pagination->create_links();
私はbase_url()を使って作業しています。 'yourhistory/index /';明らかにyourhistoryというコントローラを指しています。しかし、これは一時的なものですが、動的に生成されたURLを使用しているため、dbに格納されている情報に応じてすべてをロードするコントローラにリダイレクトするようにルートを設定しています。したがって、yourhistory/index /は、yourHistory/index /に設定されたルートがないため、正しいコントローラにルーティングされません。私が考えることができる唯一の解決策は、アイテムがアップロードされるたびに新しいルートを動的に生成することです。しかし、確かにより良い方法がありますか? – user1087944
コントローラ内でカスタムルーティングを設定できるので、urlの 'yourhistory'部分だけがコントローラにルーティングされ、残りは' '_remap'という名前の関数によって解析されます(http://codeigniter.com/user_guide /general/controllers.html#remapping) – minboost
伝説的な歓声! – user1087944