FullCalendarでGoogleカレンダーのようなUIを実装

2017/01/19

jQueryプラグインFullCalendarのサンプル

概要

FullCalendarを使用して、GoogleカレンダーのようなUIを実装する使用例を紹介します。

ダウンロード

https://fullcalendar.io/download/
こちらのサイトからファイルをダウンロードします。

ダウンロードしたファイルを解凍し、含まれている以下のファイルを使用します。
fullcalendar.min.css
fullcalendar.min.js

HTML設定例


  <link href="fullcalendar.min.css" rel="stylesheet" type="text/css" />
  <script src="fullcalendar.min.js"></script>

  <div id="calendar"></div>

HTML側はたったこれだけです。
CSS・Javascriptを読み込み、calendarというIDのタグを配置しています。

javascript設定例


$(function () {
    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay,listWeek'
        },
        titleFormat: 'YYYY年MM月DD日',
        titleRangeSeparator: '~',
        defaultView: 'agendaWeek',
        defaultDate: today_at,
        allDaySlot: false,
        buttonText: {
            today:    '今日',
            month:    '月',
            week:     '週',
            day:      'æ—¥',
            list:     'リスト',
        },
        monthNames: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
        monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
        dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
        dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
        editable: false,
        eventLimit: true, // allow "more" link when too many events
        events: {
            url: '/schedule/list',	// スケジュール情報をjsonで取得するためのURLを記載
            error: function() {
                alert('スケジュールの取得に失敗しました。');
            }
        },
        eventClick: function(event) {
            openModal('schedule/edit/' + event.id)
        }
    });
});

こんな感じです。
/schedule/list には、GETでstart、endのデータが渡されるので、それを元に情報をjson形式で返すプログラムを実装してあげれば完了です。

また、eventClick を使用して、登録されているイベントを編集することも可能です。

Related

Vagrant+Docker+PHP環境で「session.save_path」指定時に、セッションファイルが空になるエラー

ファイル共有でのフォルダの所有者を設定 結論 PHP5.4.28 か...

LINEと連携したテイクアウト事前注文システム徹底比較!

目次 テイクアウト予約・注文受付システムのトレンド LI...

PHPで動画の撮影日を取得

PHPで動画の撮影日を取得 概要 PHPからffprobeコマンドを実行...

PHP Laravel5.2でmulti-auth(複数テーブルでの認証)を実装

Laravel5.2でマルチ認証 概要 LaravelとはPHPの中で今最も伸びã...

PHP 正規表現でIPアドレス形式の文字列か判定

正規表現でIPアドレスの入力チェック 概要 フォームでå...

rbenv環境でRuby on Railsのアプリケーションを一瞬で自動生成

アプリケーション構築時に最初に行う手順 概要 アプリã‚...
トップへ戻る