0

CodeIgniter がページ番号の後にセグメントを許可するかどうか疑問に思っています。これを行う最善の方法は何ですか?

$config['base_url'] = '/controller/view/pg/';

これも渡すにはページングが必要です:

/controller/view/pg/1/v/l/rpp/20...など

$this->uri->uri_to_assoc(n)必要なセグメントの数のために 使用しているため、複数の問題に遭遇しました...

各ページに値を渡すことができるようにする必要がありますが、現時点ではその方法がわかりません。

これを行う最善の方法は、ページングを常に他のすべてのセグメントの最後に移動することだと思いますか? これも問題を引き起こしているようです。

4

2 に答える 2

0

はい、できます。

それを行う方法は、ページネーション構成配列にあります。「uri_segment」は変数にする必要があります。

$config['uri_segment'] = $segment_offset;

$segment_offset は、URI で「/pg/」(例から) を探すことで計算できます。

コード例:

  //for pagination      
  $start = 0;
  $limit_per_page = 100;


    //URI to acoc array:
    $uri_array = $this->uri->uri_to_assoc(4);
    /*
     Array
        (
            [page_links] => 0
        )
     */

    //Take the number of pagination segment from uri; return URI number by its name 
    $segment_offset  = 0;

    foreach($uri_array as $key=>$value){
      $segment_offset++;
      if('page_links' == $key){
          //segment founded
          break;
      }
    }

    //calculate actual place or pagination number
    //$segment_offset = $segment_offset + uri_to_assoc(**4**) + **1** place after the segmwnt 'page_links' is actual number for pagination;
    $segment_offset = $segment_offset + 4 + 1;


  //DB query can be here

  // ///////////////////////////////////////////////////////////////////////
  // NOTE: Set up the paging links. Just remove this if you don't need it,
  // NOTE: ...but you must remember to change the views too.
  // ///////////////////////////////////////////////////////////////////////
  $this->load->library('pagination');
  $this->load->helper('url');


  $config['base_url']     = site_url('controller1/browse/pg/'.$pg.'/other_segment/etc..');
  $config['total_rows']   = xxx;
  $config['per_page']     = $limit_per_page;

  //$config['uri_segment'] = xx;
  //now that can be variable, and not just on the end of the URI 
  $config['uri_segment'] = $segment_offset;


  $config['first_url'] = '0';

  $config['num_links'] = 4;

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

  $the_results['page_links'] = $this->pagination->create_links();
于 2013-01-10T18:34:19.797 に答える