0
4

3 に答える 3

0

次のように、「ページ番号」と「ベース URL」の uri セグメントを計算することができます。

// Parsing the URI into an associative array
$uri = $this->uri->uri_to_assoc(4);

$segments = count($uri);

// Calculate the uri segment and base url
if ($segments > 1) {
   $uri_segment  = 3 + $segments - 1; // 3 segments "index.php/admin/view/ + SORT_SEGMENTS - PAGE_SEGMENT

   array_pop($uri); // Pop the page number
   $base_url     = site_url('admin/view/'. implode('/', $uri));
} else {
   $uri_segment  = 4;
   $base_url     = site_url('admin/view/');
}

// Pagination config
$config['base_url']         = $base_url;
$config['uri_segment']      = $uri_segment;
$config['use_page_numbers'] = TRUE;
$config['total_rows']       = YOUR_CONFIG;
$config['num_links']        = YOUR_CONFIG;
$config['per_page']         = YOUR_CONFIG; 

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

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

PD: 私はアルゼンチン人で、英語が少し苦手です。

于 2013-10-20T03:15:28.303 に答える
0

私もこれに遭遇しました。最も簡単な解決策は? ページネーションが常に最初のセグメントになるように、URL 構造を再構成します。並べ替えフィールドを台無しにしないために、ページが常にページネーションで読み込まれるようにします。つまり、最初に読み込むときにそのセグメントに 0 を入れます。クエリ文字列を使用するように設定を変更する以外に、ページネーション セグメントを簡単に移動できるとは思いません。次のような構成で if ロジックを実行できると思います。

if(is_numeric($this->uri->segment(2)
{
    $config['uri_segment'] = 2;
} else if (is_numeric($this->uri->segment(3) {
    $config['uri_segment'] = 3;
}

しかし正直なところ、追加する余分なセグメントの数によっては、かなり醜くなる可能性があります。

于 2013-02-06T12:24:38.820 に答える
0

URL を構成変数として渡す必要があります。

$config = array('base_url' => site_url('/admin/view/field/created'));
$this->pagination->initialize($config);
$this->pagination->create_links();

その他の構成の可能性については、ドキュメントを参照してください。

于 2013-02-06T11:29:09.190 に答える