usdglander
@usdglander
Yipee-ki-yay

Как подружить FullCalendar и Yii2?

Кто нибудь использовал https://github.com/thiagotalma/yii2-talma-fullcale...
Заставил его выводить события, но никак не могу научить его реагировать на клики для создания событий. Делаю так:
<?php

use \talma\widgets\FullCalendar;

?>

<?= FullCalendar::widget([
    'loading' => 'Загрузка...', 
	'config' => [
		'header' => [
			'left' => 'prev,next today',
			'center' => 'title',
			'right' => 'month,basicWeek,basicDay'
		],
		'editable' => true,
		'lang' => 'ru',
		'events' => $events,
		'dayClick' => '...' //Вот тут начинаются проблемы
		
	]
]); ?>

Вообщем не понимаю я что, где и как именно писать. Доки по компоненту считайте что нет. В исходнике самого компонента ничего на мысль не натолкнуло.
Заранее спасибо за помощь и идеи.
  • Вопрос задан
  • 3818 просмотров
Пригласить эксперта
Ответы на вопрос 1
@maxyc_webber
Web-программист
"philippfrenzel/yii2fullcalendar": "dev-master",

<?= yii2fullcalendar\yii2fullcalendar::widget([
            'id'=>'calendar',ru
            'clientOptions' => [
                'language' => 'ru',
                'eventLimit'=> true,
                'fixedWeekCount'=>false,
                'eventLimitClick'=>new \yii\web\JsExpression('function (cellInfo, jsEvent) {showEvents(cellInfo.date, cellInfo.segs);}')
            ],
            'header' => [
                'center'=>'',
                'left'=>'title',
                'right'=>'prev,next today'
            ],
            'ajaxEvents' => Url::to(['/events/json', 'type'=>'all'])
        ]);


/events/json
public function actionJson($start=NULL,$end=NULL,$_=NULL)
    {
        \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;

        $times = Event::find()->where(['between', 'date', $start,$end])->all();

        $events = array();

        foreach ($times AS $time) {

            $Event = new \yii2fullcalendar\models\Event();
            $Event->id = $time->id;
            $Event->title = $time->name;
            $Event->allDay = true;

            if($time->club_id) { // если от клубов, то класс один, иначе другой
                $Event->className = 'event-club';
            } else {
                $Event->className = 'event-default';
            }

            $Event->start = date('Y-m-d',strtotime($time->date));
            $Event->url = \yii\helpers\Url::to(['/events/view', 'id'=>$time->id]);
            $events[] = $Event;

        }

        return $events;
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы