CI 묻고 답하기

제목 CI calendar 질문입니다.
글쓴이 yd0927 작성시각 2013/11/12 08:51:09
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 16885   RSS
 $this->load->library('calendar');

$data = array(
               date('d')  => 'main/showShowtimes',
               date('d')+1  => 'main/showShowtimes',
               date('d')+2 => 'main/showShowtimes',
               date('d')+3 => 'main/showShowtimes'
             );

echo $this->calendar->generate(date('Y')date('m')$data);

라고 정의 해놓았는데요  유저가 선택하는 날짜를 갖고 있는 variable는 없나요?
태그 달력,calendar
 다음글 페이지네이션 질문좀 드립니다. (2)
 이전글 activerecord 질문입니다. (1)

댓글

변종원(웅파) / 2013/11/12 11:21:45 / 추천 0
$data는 개발자가 만들어 넣는 것이죠.
개발자가 이미 알고 있는데요? ^^;


$diary = array(
            3  => 'http://example.com/news/article/2006/03/',
            7  => 'http://example.com/news/article/2006/07/',
            13 => 'http://example.com/news/article/2006/13/',
            26 => 'http://example.com/news/article/2006/26/'
        );
  
        $data['diary'] = $this->calendar->generate(2006, 6, $diary);


좌측 메뉴중에 실행 예제 모음도 한번 보세요.
yd0927 / 2013/11/12 11:44:07 / 추천 0
$data에 값이 잇는건 알앗는데 controller 에서 이값을 읽을수는 없나요?
위에 제가 넣은 코드는 views/main/calendar.php 에 정의 되어잇습니다.

한대승(불의회상) / 2013/11/12 13:12:24 / 추천 0
뷰에 넣지 마시고 뷰를 호출하는 컨트롤러에 넣으세요.
변종원(웅파) / 2013/11/12 14:42:43 / 추천 0
mvc패턴을 지키지 않으니 그런 문제가 생기는 겁니다.

잘 생각해보세요. 컨트롤러 - 뷰 순서인데 뷰에서 선언되는 변수값을 컨트롤러에서 어떻게 알수가 있을까요?
한번 호출되서 세션이나 쿠키로 만들어졌다면 모를까 일반적인 순서로는 알 수가 없는겁니다.

불의회상님 말씀처럼 컨트롤러에서 선언해서 써야합니다.
yd0927 / 2013/11/12 15:35:39 / 추천 0
아 풀렷네요 ㅎㅎ 답변 감사합니다.

근데 또 궁금한게 생겻는데 원래 view 부분에서 유저가 보는 부분을 보여주는게 맞지 않나요?

controller 에 넣으면 view가 아닌게 되지 않나요?
한대승(불의회상) / 2013/11/12 16:36:13 / 추천 0
yd0927// 저의 경우는 진짜 보여주는 용도로만 view를 구성하도록 노력 합니다.

위 코드는 아래 처럼 수정이 가능 합니다.

 $this->load->library('calendar');

$data = array(
               date('d')  => 'main/showShowtimes',
               date('d')+1  => 'main/showShowtimes',
               date('d')+2 => 'main/showShowtimes',
               date('d')+3 => 'main/showShowtimes'
             );

$data['calender'] = $this->calendar->generate(date('Y'), date('m'), $data);

$this->load->view('calender_output', $data);

calender_output.php
<html>
<body>
<?php echo $calender?>
</body>
</html>