2012-07-19 2 views
2

Cakephp 응용 프로그램을 작성 중입니다. 내가 원하는 것은 페이 스북 스타일 페이지 매김을 만드는 것입니다. 여전히 간단한 정렬에서 Ajax 페이지 매김을 수행했습니다. 이제 이걸로 내 논리는 다음 버튼을 만들 것입니다. 렌더링 요소. Cakephp는 자체적으로 페이지 매김을 관리합니다. 하지만 내 문제는 특정 div (ID)에 대한 내 관점을 '업데이트'중에 나에게 묻는 것입니다. DOM의 내 스타일은 Ajax 페이지 매김 ID를 업데이트하는 대신 요소를 추가합니다.

<div class="fb_style" id='1'></div> 
<div class="fb_style" id='2'></div> 
<div class="fb_style" id='3'></div> 
<div class="fb_style" id='4'></div> 
<div class="fb_style" id='5'></div> 
<div class="fb_style" id='6'></div> 
<div id='more button'>MORE BUTTON(ACTUALLY PAGINATOR NEXT LINK)</div> 

내가 ID 옆에 사업부를 렌더링 할 ...입니다 = 6 나는 .fb_style 옆에 말할 수 있습니다에 추가 할 I 간단한 소원 ... 지난 내 매김 샘플 코드를 특정 dom 요소. 나는 JQuery와 함께 할 경우

$this->Paginator->_ajaxHelperClass = "Ajax"; 
$this->Paginator->Ajax = $this->Ajax; 
$this->Paginator->options(array('update' => 'listID', 
    'url' => array('controller' => 'poets', 'action' => 'index', $separator), 
    'indicator' => 'loaderID')); 

내가 총 기록이 동일한 이상 내가 위로 이동하면보기 검사에 수동으로 제한을 검증보다, 전체 기록을 보낼 필요는 아주 clumpsy 수단보다 함수를 작성하는 것을 의미한다 논리가 올바른지 또는 다른 솔루션이나 가이드 라인을 알려주십시오.

답변

1

나는 Infinite scrolling JQuery plugin을 사용했으며 올바르게 작동합니다. 이 jquery 플러그인은 제어기 메소드에 Ajax 요청을 보내는 데 사용할 수있는 사용자 정의 내장 이벤트를 제공합니다. 또한 그것이 작동한다면 또한 페이 스북 무한 스크롤 기능처럼 보이는 CSS를 변경할 수 있습니다.

여기에 another post이 있습니다. CakePHP와 함께 사용하는 방법을 알려줍니다.

+0

난 당신이 내 지점을하지 않았다고 생각해야한다. 버튼을 클릭 할 때 데이터를로드하고 가져오고 싶습니다. 한 번에 모두 가져온 다음 척으로 표시하고 싶지 않습니다 ... 버튼을 클릭 한 다음 해당 데이터를 추가 할 때만 쿼리를 트리거하고 싶습니다. –

+0

Rahul 위의 게시물은 당신이 요구하는 것과 같습니다. 이 Jquery 플러그인은 블록 단위로 데이터를 한 번에 가져올 수 있도록 도와줍니다. 그게 왜 너에게 아약스 보내기 이벤트를주는거야? 버튼 클릭과 같이 사용자 정의해야 할 수도 있습니다. 결과가 더 필요합니다. 이 플러그인의 문서를 읽으십시오. 잘 작동한다. –

+0

아직도 구현과 혼동하지 않습니다. 나는 내 견해를 의미한다. $ { '컨트롤러/작업/페이지 : 2/#content div.post', function() { $ (this) .appendTo ('# content'); }); N 컨트롤러에서 request ajax가 일부보기를 렌더링하는 것보다 확인하는 데 사용합니다. 다음 게시물의 루프가 있습니다. 요소를 렌더링해야한다는 의미입니다. 맞습니다. –

0

귀하의 주문 ASC는 페이스 북과 트위터가 DESC를 주문하지만 여전히 적용될지라도, 페이지 작성의 트위터 스타일을 사용하십시오.

첫 번째 결과를 param으로 보내고 index()의 조건에서 사용하여 다음 요청에서 다음 결과 블록을 얻습니다.

새로운 레코드가 추가되어 잠시 동안 레코드가 누락되거나 중복 된 레코드가 추가 될 수 있으므로 페이지 2가 더 안전합니다 (DES 주문으로 변경하는 경우에만 적용됩니다. ASC를 주문하면 안전하게 사용할 수 있습니다). 2 페이지)

'update' => 'listID' 

'update' => '#listID'