https://code.tutsplus.com/tutorials/code...--net-9570
This is the calendar I got. A slight modification is that data is not inserted via frontend Ajax, but via admin backend.
What I want to do is when clicking on a day, to display the event's description - if there is an event that day.
How would ajax be like in my views, when clicking on a day?
Any tips really appreciated.
My controller
Code:
function index($year=null,$month=null)
{
if( ! $this->bitauth->logged_in())
{
$this->session->set_userdata('redir', current_url());
redirect('access/login');
}
$data['header']=Modules::run('header/header/index');
$data['footer']=Modules::run('footer/footer/index');
$conf=array(
'start_day'=>'monday',
'show_next_prev' => true,
'next_prev_url'=>base_url().'calendar'
);
if (!$year){
$year=date('Y');
}
if (!$month){
$month=date('m');
}
$this->load->model('calendar_model');
$data['calendar']=$this->calendar_model->generate($year,$month);
$this->load->library('calendar',$conf);
//echo $this->calendar->generate($year,$month);
$this->load->view('calendar',$data);
My model
Code:
var $conf;
function Calendar_model(){
//parent::CI_model();
$this->conf=array(
'day_type'=> 'long',
'show_next_prev'=>true,
'next_prev_url'=>'http://datacentral.demo/calendar/',
//'year'=>$this->uri->segment(3),
//'month'=>$this->uri->segment(4)
);
$this->conf['template']='
{table_open}<table border="0" cellpadding="0" cellspacing="0" class="calendar">{/table_open}
{heading_row_start}<tr>{/heading_row_start}
{heading_previous_cell}<th><a href="{previous_url}"><<</a></th>{/heading_previous_cell}
{heading_title_cell}<th colspan="{colspan}">{heading}</th>{/heading_title_cell}
{heading_next_cell}<th><a href="{next_url}">>></a></th>{/heading_next_cell}
{heading_row_end}</tr>{/heading_row_end}
{week_row_start}<tr>{/week_row_start}
{week_day_cell}<td>{week_day}</td>{/week_day_cell}
{week_row_end}</tr>{/week_row_end}
{cal_row_start}<tr class="days">{/cal_row_start}
{cal_cell_start}<td class="day">{/cal_cell_start}
{cal_cell_start_today}<td>{/cal_cell_start_today}
{cal_cell_start_other}<td class="other-month">{/cal_cell_start_other}
{cal_cell_content}
<div class="day_num">{day}</div>
<div class="content">{content}</div>
{/cal_cell_content}
{cal_cell_content_today}
<div class="day_num highlight">{day}</div>
<div class="content">{content}</div>
{/cal_cell_content_today}
{cal_cell_no_content}<div class="day_num">{day}</div>{/cal_cell_no_content}
{cal_cell_no_content_today}<div class="day_num highlight">{day}</div>{/cal_cell_no_content_today}
{cal_cell_blank} {/cal_cell_blank}
{cal_cell_other}{day}{/cal_cel_other}
{cal_cell_end}</td>{/cal_cell_end}
{cal_cell_end_today}</td>{/cal_cell_end_today}
{cal_cell_end_other}</td>{/cal_cell_end_other}
{cal_row_end}</tr>{/cal_row_end}
{table_close}</table>{/table_close}
';
}
function get_calendar_data($year,$month){
$query=$this->db->select('date,name,description')->from('calendar')->like('date',"$year-$month",'after')->get();
$cal_data=array();
foreach ($query->result() as $row) {
if(substr($row->date,8,1)==0)
{
$cal_data[substr($row->date,9,1)] = $row->name;
}
else{
$cal_data[substr($row->date,8,2)] = $row->name;
}
}
return $cal_data;
}
function generate($year,$month){
$this->load->library('calendar',$this->conf);
$cal_data=$this->get_calendar_data($year,$month);
return $this->calendar->generate($year,$month,$cal_data);
}