以前から、割と使い勝手の良いコチラのカレンダーを使用させて頂いておりましたが、
先日、お客様の方で予定を入力したいというご要望があり、
外部ファイルを読み込む仕組みを取り入れ、
予定は別の管理画面から設定できるように改造してみました。
なぜなら予定や定休日はJSファイルそのものを触らないとダメで、
しかもちょっと素人さんにはややこしいのです。
今回は、外部ファイルの読み込み、休日の設定を追加する方法だけのご紹介です。
本来であれば、JSONやXMLを取り込む形が良いと思いますが、
今回はCSVテキストファイルとなっています。
※恐らく制作者は、外部ファイルの読み込みを考慮していないと思われるので、
外部ファイルの属性などは注意しましょう。
一番良いのは、やはりJSONやXMLを吐き出すプログラムを作成する事ですね。
CSVをパースするのに、jQueryのプラグイン、Papa Parseを使用しました。
$.ajax('***.dat', { dataType: 'text', error: function(xhr, message) { console.log('CSVファイルが見つかりませんでした', message); alert('error'); }, success: function(data) { csv = $.parse(data, { delimiter: '\t', header: false, step: function(data) { calObj[0].daysClass[data.results[0][0]] = 'Holyday;' + data.results[0][1]; } }); }, async: false });
説明:
***.dat:読み込むファイルのパス ※中身は”年月日[タブ]定休日”としてます。
delimiter:区切り文字の指定 \t でタブ区切り
header:一行目がタイトルの場合はTRUE
上記コードをcal.jsの30行目付近に入れるだけです。
今回は定休日のみの対応でしたが、何にでも対応可能だと思います。
改造設置のご要望がございましたらお気軽にご連絡ください。
お安く提供できると思います。
ダウンロード先:営業日・定休日カレンダー
配布サイト:http://www.synck.com
jQueryプラグイン(CSVパーサー):http://papaparse.com