スケジュール(Plugin_Schedule)にカスタムフィールドを利用する
営業日等のカレンダーを表示する機能として、「サイト管理>スケジュール」があります。
標準機能では、登録項目としてテキスト入力とセレクトによる選択があります。
カスタムフィールドを使って項目を追加する方法を説明します。
登録側にカスタムフィールドの入力欄を追加する
/themes/system/admin/schedule/edit-data.html
をサイトで利用しているテーマへコピーします。
例えば、siteテーマを利用している場合は、
/themes/site/admin/schedule/edit-data.html
へコピーします。フォルダが無い場合は新規に作成します。
<!-- BEGIN_MODULE Admin_Schedule_View -->内にある<!-- BEGIN day:loop -->の中に、カスタムフィールドを記述します。下記の例では、{color}の項目を追加しています。
<!-- BEGIN_MODULE Admin_Schedule_View --> <!-- BEGIN unit:loop --> <!-- BEGIN month:loop --> <!-- BEGIN week:loop --> <!-- BEGIN day:loop --> <input type="text" name="color{id}[]" value="{color}" /> <input type="hidden" name="field{id}[]" value="color{id}" /> <!-- END day:loop --> <!-- END week:loop --> <!-- END month:loop --> <!-- END unit:loop --> <!-- END_MODULE Admin_Schedule_View -->
カスタムフィールドの値を表示する
テンプレートファイルにカスタムフィールドの値を表示する記述を追加します。
<!-- BEGIN_MODULE Plugin_Schedule id="xxxxx" --> <!-- BEGIN unit:loop --> <!-- BEGIN month:loop --> <!-- BEGIN week:loop --> <!-- BEGIN day:loop --> {color} <!-- END day:loop --> <!-- END week:loop --> <!-- END month:loop --> <!-- END unit:loop --> <!-- END_MODULE Plugin_Schedule -->
※上記モジュールの記述例は、既存のフィールドを省略しています。
※カスタムフィールドの出力はplanのラベルブロック内ではありません。