カレンダーを表示させてみる
- ブラウザーのアドレス入力欄にカレンダー表示のCGIを直接入力します。
- http://www.xxx.jp/cgi-bin/calendar/calendar_display.cgi?sample
(あなたがアップロードした場所と calendar_display.cgi の名称を変更した場合は違う指定になります)
- sampleのところには登録した対象名を入力します。
対象名を複数指定すると複数の対象のカレンダーを表示することができます。(例: ?tokyo+nagoya)
- カレンダーが表示されればOKです。
- 実際にホームページでリンクさせる場合はリンク先として上記のアドレスを指定します。
- カレンダーが表示されない場合は今までの手順に間違いがないか確認して下さい。
- CGiプログラムのパーミッションは正しいですか?
- 管理者用プログラムはうまく動きましたか?
カスタムのテンプレートを使って表示させてみる
- 標準のカレンダー表示のテンプレートはただ単にカレンダーを表示させるためだけの何の装飾もないものです。カレンダーの前後にヘッダーやフッターなど独自のデザインを組み込みたい場合はカスタムのテンプレートファイルを作成します。
テンプレートのデザインは自由に行うことができます、カスタムのテンプレートの中でカレンダーを表示させた場所に次のカレンダー挿入タグを配置します。<!--index表示タイプ-->
表示タイプは以下のとおりです。
T:タブ横表示、X:タブ縦表示、H:横七曜表示、V:縦七曜表示、W:タブ七曜表示、I:携帯表示、Y:営業日表示、K:日数指定表示
例:<!--indexT-->
<!--indexT-->の後に以下のscriptタグを記述します。
<!--indexT--><script language="javascript" type="text/javascript" src="/cgi-bin/calendar/calendar_display.cgi?test+_DT+script:作成したテンプレートの指定+kjc:sjis"></script>
CGIのパスはインストールした環境によって変わりますのであなたの環境に読み替えてください。
test は表示する状況カレンダーのIDになります。+script: は script で呼び出す時は必ず付けます。+kjc:sjis は呼び出したHTMLソースを記述している漢字コードを指定します。(sjis,jis,euc,utf8)
+_DT の T は<!--indexT-->で指定した表示タイプを指定します。
+script: の後の作成したテンプレートの指定は作成したテンプレートのパスとファイル名をフルパスまたはドキュメントルートから指定します。(例:+script:/temprate/test.html フルパス、ドキュメントルート指定ともに / で始めます))
一連の記述は改行せずに1行で記述し余分なタグは入れないでください。
- 作成したテンプレートファイルをFTPクライアントソフトを使ってサーバーの任意の場所にアップロードします。
リンクタグ、イメージタグ <img src=""> <a href=""> など他のページ、画像にリンクしたり参照するパスはテンプレートHTMLファイルが存在するディレクトリからの相対パスで記述すればドキュメントルート / からのパスに自動補正します。自動補正が必要なのはCGIでカレンダー表示をした時にベースのディレクトリがCGIが存在するディレクトリになるためです。
自動補正を行いたくない場合は設定プログラムファイル calendar_set.pl の $auto_sw=1; を $auto_sw=0; に変更してください。
HTMLの記述の仕方やスクリプトを含む特殊なタグを使っているとうまく補正できない場合があります。
もしも画像が表示されなかったり、リンクがうまくつながらない時は、以下の方法で回避してください。
ただし、同一ページ内へのリンクが記述されている場合はうまくリンクできませんので注意が必要です。
- CGIプログラムが存在する実行パスからの相対パスか、ドキュメントルート / から記述して下さい。
もしも相対パス、ドキュメントルート / からのパスがわからない時は http:// から始まる絶対パスで記述してください。
- 【推奨】テンプレートHTMLファイルの<head>〜</head>の間に<base href="">を記述してリンクの基準となるURLを指定します。
例えば、<base href="http://www.xxx.co.jp/test/">と指定するとこのテンプレートHTMLファイルに書かれている相対パスはhttp://www.xxx.co.jp/test/を基準として参照されます。
ただし、HTMLソース内に同一ページ内へのリンク記述があるとうまくリンクできませんので注意が必要です。(<a name="xxx">、<a href="yyy#xxx">)
- このテンプレートファイルのURLをブラウザで指定して表示させるとカレンダーが表示されるはずです。
- ここで指定している表示CGIの引数はこの他にも指定できます。オプション一覧を参照ください。
- Tips この表示方法はPHPにも適用できます。(つまりPHPからカレンダーが表示できるということです)
<!--indexT--><?php $fp=fopen("/cgi-bin/calendar/calendar_display.cgi?test+_DT+script:作成したテンプレートの指定+kjc:sjis","r");while(!feof($fp)){$line=fgets($fp);echo $line;}fclose($fp); ?>
一連の記述は改行せずに1行で記述し余分なタグは入れないでください。
オプション一覧
- 上記でアドレスを入力したときに?以降に記述した項目を引数(ひきすう)といいます。
- 引数を指定することにより色々なオプション項目を指定して表示させることができます。
オプションを複数指定する場合は半角の + で区切って続けて記述します。(例: ?tokyo+nagoya)
- 引数の1番目は表示させる対象(状況ID名)を指定します。管理者メニュー画面の上の「対象(状況):」の選択肢の括弧書のID名です)
以下 xxxx は状況ID名を表します。
対象名を複数指定すると複数の対象のカレンダーを表示することができます。(例: ?tokyo+nagoya)
対象名を指定する場合は後ろに ! を付けると指定したテキストが含まれる対象名が全て表示されます。( ! のみを指定すると全てを表示します)
(例: ?xxxx! xxxxが含まれる対象を表示)
- 表示させる対象のタイプを指定することができます。
対象名の後に初期設定のタイプ No.またはタイプID で続けて記述します。
(例: ?xxxx:2:3:5 対象名 xxxx のタイプNo. 2,3,5 を表示、?xxxx:dog:cat 対象名 xxxx のタイプID dog,cat を表示)
タイプID を指定する場合は後ろに ! を付けると指定したテキストが含まれるタイプIDが表示されます。( ! のみを指定するとタイプIDが指定されているもの全てを表示します)
(例: ?xxxx:dog! 対象名 xxxx のタイプID に dog が含まれるものを全て表示)
- 「初期設定」のカレンダー表示のタイトルに半角の , で区切って復数指定している場合は表示するタイトルを指定することができます。何番目のタイトルを表示するか数字/で指定します。
(例:xxxx:2/dog:cat 対象名 xxxx のタイプID dog,cat を表示、タイトルは2番目のタイトルを表示)
タイトルを指定する場合は「初期設定」でカレンダー表示のタイトル?の指定で半角の,で区切って複数指定しておきます。その内の何番目を指定します。
- Tips 対象名、タイプIDを系統的に付けると高度な表示が可能です。
(例) 以下のように対象名、タイプIDを付けます( xxx は任意)
対象名 | タイプID |
abc_xxx | osaka_xxx tokyo_xxx |
def_xxx | osaka_xxx tokyo_xxx |
xyz_xxx | osaka_xxx tokyo_xxx |
(表示例: abc_!:tokyo_! 対象名に abc_ が含まれ且つタイプIDに tokyo_ が含まれる状況カレンダーを表示)
- Tips 日数指定で表示させる場合に何日間を表示させるかを指定できます。(初期値は10日)
(例) 15dp 15日間を表示します /cgi-bin/calendar/calendar_display.cgi?test+_DK+15dp
この指定は携帯電話用に表示させる場合の日数指定指定にも共通で使えます。
- 引数の2番目以降は以下のように指定します(順不同)。
- L:english 曜日を英語の3文字でします。
20days 本日から20日間のカレンダーを表示します。20は任意の日。
4mon 本日から4月までのカレンダーを表示します。4は任意の月。
2 数字のみを指定します。当月から2ケ月間のカレンダーを表示します。2は任意の月数。(期間を指定しない場合は3ケ月間表示します)
表示形式が日数指定表示の場合は何日間を表示するかを指定できます(指定しない場合は7日間)
_D? ? で指定したテンプレートを使用してカレンダーを表示します。(T:タブ横表示、X:タブ縦表示、H:横七曜表示、V:縦七曜表示、W:タブ七曜表示、I:携帯表示、Y:営業日表示、K:日数指定表示)
Tips アルファベットの小文字も指定することができます。2通りのテンプレートを使い分けることができるわけです。例えば H を h で指定すると indexH.html ではなく indexh.html をテンプレートとして使用します。
年月M最終日 指定した年月のタブ表示カレンダーを表示します。例:200410M31(最終日を省略するとその月の最終日)
php カレンダーの状況をPHPのソースの中に表示させる場合に指定します。
script カレンダーの状況を iframe ではなく <script language="javascript" type="text/javascript" src="/cgi-bin/calendar/calendar_display.cgi?test+script+kjc:sjis"></script> で表示させる場合に指定します。
kjc:漢字コード(sjis,euc,jis,utf8) カレンダーの状況をPHP、script で表示させるときソースの漢字コードを指定します。
_NL_ カレンダーの状況表示から予約フォームへリンクさせません。単に状況を表示させたい場合に指定します。
_NB_ カレンダーの状況表示の「戻る」を表示させません。
event:機能数字 カレンダーの状況表示をせずイベントのみを表示させます。
機能数字は以下の数字を指定します。 0=イベントを表示しない 1=テキストで表示 2=ボタンで表示(ボタンクリックでテキスト表示) 3=ラジオボタンで表示(カーソルを当てるとテキスト表示)
Event:機能数字 カレンダーの状況表とイベントの両方を表示させます。
機能数字は以下の数字を指定します。 0=イベントを表示しない 1=テキストで表示 2=ボタンで表示(ボタンクリックでテキスト表示) 3=ラジオボタンで表示(カーソルを当てるとテキスト表示)
EVent:機能数字 カレンダーの状況表示のみを表示させます。
col:色設定ファイル番号 カレンダーの状況表示を標準の色設定ファイル以外の設定ファイルを使って表示したい時に指定します。
(例:col:5 色設定ファイルの calendar_col5.cgi を使って表示する)
I年月日 指定した年月日から携帯用、日数指定でカレンダー表示します。例:I20041001(月日が1桁の場合は前に0を埋めて下さい)