2011-12-11 6 views
1

codeigniter 프레임 워크를 기반으로 구축 된 사이트에서 모바일로 볼 때 긴 기사를 매 깁니다. 기사의 페이지 수를 결정할 수 있었지만 링크를 만드는 방법과 페이지 매김을 위해 uri에 인수를 전달할 수있는 방법에 대해 분실했습니다. 이 내 코드는 내 컨트롤러긴 기사 페이지 매기기

function view_post($alias) 
     { 
      $post = $this->post_model->load_post($alias); 
      $data['title'] = $post->post_title; 
      $data['logged'] = $this->ion_auth->logged; 
      $data['user_id'] = $this->ion_auth->user; 
      $data['username'] = $this->ion_auth->username; 
      $data['comments'] = $this->comment_model->count_post_comments($post->ID); 
      $link = strtolower($post->name)."/".$post->alias; 
      $data['post_link'] = "www.giggsmagazine.com/".$link; 
      $data['post'] = $post; 

      // Article Pagination for long articles 
      $posts = explode("<!-- pagebreak -->",$post->post_content); 
      $page_count = count($posts) - 1; 
      $data['pages'] = $page_count; 
      $data['posts'] = $posts; 
      if($this->isMobile()) 
      { 
       $device = $this->agent->mobile; 
       switch($device) 
       { 
        case "BlackBerry": 
        $this->load->view('mobile/bb/inc/bb_header',$data); 
        $this->load->view('mobile/bb/posts/view_post'); 
        $this->load->view('mobile/bb/inc/bb_footer'); 
        break; 
        case "Apple Iphone" || "Apple Ipod Touch": 
        $this->load->view('mobile/iphone/inc/iphone_header',$data); 
        $this->load->view('mobile/iphone/posts/view_post'); 
        $this->load->view('mobile/iphone/inc/iphone_footer'); 
        break; 
        default: 
        $this->load->view('mobile/generic/inc/generic_header',$data); 
        $this->load->view('mobile/generic/view_post'); 
        $this->load->view('mobile/generic/inc/generic_footer'); 
        break; 
       } 
      }else { 
      $this->load->view('templates/site_header',$data); 
      $this->load->view('posts/view_post'); 
      $this->load->view('templates/site_footer'); 
      } 
     } 

에서 당신이 지금까지 시도 무엇 올바른 방향

답변

0

날 지점하세요? 아마 자바 스크립트/jQuery를 사용하여 클라이언트 측 페이지 매김을 해제하는 것이 더 좋을 것입니다. (단순한 '더 많은'read 링크는 데이터를 특정 문자 제한으로 캐핑합니다.)하지만 코드를 사용하여 서버 측에서 수행하려는 경우 '이미 작성했습니다, 당신은 아마 이런 식으로 뭔가를 할 거라고 :

새로운 추가'view_post 페이지 '매개 변수 :

function view_post($alias, $page = 0) 

귀하의 게시물 내용에 대한 새 변수를 만듭니다

$data['post_content'] = $posts[$page]; 

페이지 매김을 표시하려면 다음과 같이 입력하십시오.

for ($i = 0; $i <= $page_count; $i++) { 
    echo "<a href='/path/to/view_post/{$alias}/{$i}'>{$i}</a>"; 
} 

올바른 길을 찾아야합니다.

0

CodeIgniter에는 its own Pagination library이 있습니다. 왜 사용하지 않습니까?

+0

데이터베이스 레코드가 아닌 긴 기사의 페이지 매기기 – MrFoh

+0

CI의 페이지 매김 라이브러리는 데이터베이스 레코드 집합을 필요로하지 않지만 어쨌든간에 보트를 뜨게합니다 :) – Mudshark