2010-08-11 5 views
3

보고있는 달의 Fullcalendar 데이터를 가져옵니다. Next/Prev Month보기 버튼을 클릭해도 새 달의 새 데이터를 가져 오지 않습니다.다음/이전 달 동안 데이터를 가져 오는 중

DB에 대한 다른 호출을하고 그 달에 대한 레코드를 가져 오기 위해 다음/이전 단추를 얻으려면 어떻게해야합니까?

+0

어떤 플랫폼을 사용하고 있습니까? – Achilles

답변

0

이벤트 데이터를 초기화 할 때 이벤트 데이터를로드 할 위치를 컨트롤에 알려줘야합니다. 모든 이벤트를 검색하는 a json feed, an array of events 또는 a function을 지정하면됩니다.

function 또는 json 메서드를 사용하는 경우 fullcalendar 컨트롤은 사용자가 보려고하는 범위의 데이터 만로드하려고 시도합니다. 따라서 사용자가 다음 달로 이동하면 그 달 이벤트가 피드/함수에서 검색됩니다.

+0

안녕하세요, Morty, 도움 주셔서 감사합니다. 내 CF/JSON 피드에있는 모든 데이터를 가져 오지 않도록 노력하고 있습니다. 누군가가 다음 달/이전 달을 클릭하면 DB에서 그 달의 데이터를 검색하길 원합니다. 모든 것이 필요하지 않은 기회가 생길 때마다 DB에서 모든 것을 꺼내는 것은 너무 많은 머리털처럼 보입니다. (사용자가 현재 달을보고있는 경우 1 년 동안의 데이터를 가져 오는 이유) – Josh

+1

@Josh fullcalendar는 json 피드에 지정한 경로에 일부 매개 변수를 자동으로 추가합니다. 다음을 참조하십시오 : http://arshaw.com/fullcalendar/docs/event_data/events_json_feed/'start'와'end' 매개 변수를 사용하여 필요한 이벤트 만 데이터베이스에 쿼리 할 수 ​​있습니다! – theycallmemorty

3

api에 대한 ajax 요청을 만들기 위해 이벤트 콜백을 정의하십시오. 문서 here을 참조하십시오. 다음은 epoch 시작과 끝을 조회에서 매개 변수로 사용하는 API와 통합하는 예제입니다.

$('#calendar').fullCalendar({ 
    // other options here... 

    events: function(start, end, callback) { 
     start = start.getTime()/1000; 
     end = end.getTime()/1000; 
     $.ajax({ 
      url: '/api/events/1/?start='+ start + '&end=' + end, 
      dataType: 'json', 
      success: function(doc) { 
       var my_events = []; 
       $.each(doc.person.events, function (index, elem) { 
        my_events.push({ 
         title: elem.event.title, 
         start: elem.event.start, 
         end: elem.event.end, 
        }); 
       }); 
      callback(my_events); 
      } 
     }); 
    } 
}); 

제 실제 코드 (이 내용은 축소 된 버전입니다)에서는 아약스 요청에 대해 자세히 설명합니다. 또한 시작일과 종료 신기원 날짜 얻기 매개 변수를 전달하는 fullcalendar의 json feed events을 사용하여이 작업을 단순화 할 수 있습니다. 예를 들어 : http://yourwebsite.com/api/events/1/?start=123454444&end=12355324234 그래서 당신이 적절하게 그것을 처리하기 위해 서버를 설정해야합니다 같은

$('#calendar').fullCalendar({ 
    events: "/api/events/1/" 
}); 

이러한 솔루션은 모두 서버에 대한 API 호출을 수행합니다.

참고 :이 URL의 "1"은 궁금한 경우에 이벤트를 가져올 사용자의 ID를 식별하는 데 사용됩니다.

fullcalendar의 docs은 훌륭합니다. 다시 읽은 다음 다시 읽으십시오.

+0

이것이 제가 생각한 해결책 일 것 같습니다. 함수가 시작, 끝 및 콜백 값을 가져 오는 위치는 어디입니까? 풀 캘린더를 통해 표시된 월/연도를 JSON 파일에 전달해야합니다. 나는 그것을 한 번 줄 것이고 당신에게 알려줄 것이다. 농담 하시겠습니까? fullcalendar 설명서가 HORRIBLE !!! 문서의 일부 예제 또는 코드 스 니펫은 어떻습니까? 그들이 가지고있는 것보다 코드가 어떻게 구현되어 있는지보기 좋을 것입니다. JSON 예제가 어떻게 표시되는지 살펴 보겠습니다. 시간을 형식화하는 데 뜨겁게 표시하지 않으며 날짜 만 표시합니다. 문서화는 IMHO가 부족합니다. – Josh

+1

'events' 콜백은 옵션에 전달 된 다음 fullcalendar 내부에서'start, end, callback' 인자로 호출됩니다. 문서화에 관해서는, 이것이 개발, 문서화 및 공개 한 사람입니다. 그것은 다른 포장 된 대부분의 제품과 비교할 때 꽤 좋은 제품입니다. 형식 시간 항목은'EventObject' 문서 코드에서 매우 명확하게 설명됩니다. 그리고 문서가 부족한 곳에서는 항상 참조 할 소스 코드가 있습니다. – sdolan

관련 문제