• 虹色ミツバチ
  • freoカスタマイズメモ、テンプレート・プラグイン配布/officeTIPS
検索プラグイン
虹色ミツバチ

【freo】【freoプラグイン】【スケジュール管理系プラグイン】スケジュールプラグイン

スケジュールを管理するプラグインを作成しました。

特徴

開催日時の他、終了日時を設定できるので、期間のある予定を管理するのに適しています。
タイトル、場所、コメント、イメージ、ファイル(10種)、オプション(10種)を登録できます。

  • 予定を登録して、一覧表示・個別に表示できます。
  • 予定一覧では登録した予定を開催日時順に並べて表示します。
  • 終了日時を登録できます。
  • 場所を登録できます。
  • 同じ開催日時の予定は予定名順に並べて表示します。
  • 開催日時の昇順・降順、予定名の昇順・降順を管理画面の設定から変更できます。
  • URLを入力すると予定名に任意のリンクを貼ることができます。
  • コメントをつけられます。
  • タグを利用して予定を分類できます。
  • カテゴリーを登録して予定を分類できます。
  • 予定イメージ(画像に限る)を1つ登録できます。
  • 予定イメージの他に10個までファイル(画像)を登録できます。
  • オプション項目を10個まで登録できます。
  • オプションの名前・種類は任意に設定できます。

サンプル

当サイトのスケジュールで使用しています。

ダウンロード

schedule_3287_1_0_1.zip

導入方法

  1. 上記ファイルをDLして解凍する。
  2. あらかじめ管理者でfreoにログインしておく。
  3. [schedule]フォルダをfreo設置フォルダにアップデート。
  4. ブラウザから[freo/index.php/schedule/setup]にアクセスしてセットアップを実行する。
  5. パーミッションが設定されない場合は[freo/configs/plugins/schedule.ini]のパーミッションを606に設定する。
  6. [freo/files/temporaries/plugins/schedule]フォルダ[freo/files/plugins/schedule]フォルダのパーミッションを707に変更する。
  7. 管理画面の[設定管理]―[プラグインの設定]―[スケジュールプラグイン]で各種設定を行います。
  8. 管理画面の[プラグイン]―[スケジュールプラグイン]でイベントを登録します。
  9. [freo/index.php/schedule]にアクセスして正常に予定がリスト表示されるか確認してください。

デフォルト画面・ページ画面で予定を表示する方法

下記ソースをイベント予定を表示したい画面のテンプレートに挿入します。

    <!--{foreach from=$plugin_schedules|smarty:nodefaults item='plugin_schedule'}-->
        <h3><!--{if $plugin_schedule.url}--><a href="{if $plugin_schedule.url|regex_match:'/^https?\:\/\//'}{$plugin_schedule.url}{else}{$freo.core.http_file}/{$plugin_schedule.url}{/if}" target="_blank">{$plugin_schedule.title}</a><!--{else}-->{$plugin_schedule.title}<!--{/if}--><!--{if $freo.user.authority == 'root' or $freo.user.authority == 'author'}--><a href="{$freo.core.http_file}/schedule/admin_form?id={$plugin_schedule.id}"><img src="{$freo.core.http_url}images/icons/edit.png" alt="編集" title="編集" width="16" height="16" /></a><!--{/if}--></h3>
        <dl class="schedule">
            <dt>日時</dt>
                <dd><a href="{$freo.core.http_file}/schedule/view/{$plugin_schedule.id}">{$plugin_schedule.datetime|date_format:'%Y/%m/%d %H:%M:%S'}~{$plugin_schedule.enddatetime|date_format:'%Y/%m/%d %H:%M:%S'}</a></dd>
            <dt>場所</dt>
                <dd>{$plugin_schedule.place}</dd>
            <dt>コメント</dt>
                <dd>{$plugin_schedule.text|mb_truncate:50:'...'}</dd>
            <dt>カテゴリー</dt>
                <dd><a href="{$freo.core.http_file}/schedule?category_id={$plugin_schedule.category_id}">{$plugin_schedule_categories[$plugin_schedule.category_id].name}</a></dd>
            <dt>イメージ</dt>
                <dd><!--{if $plugin_schedule_files[$plugin_schedule.id].file}--><img src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}plugins/schedule_files/{$plugin_schedule.id}/{$plugin_schedule_files[$plugin_schedule.id].file}" alt="{$plugin_schedule.title}" /><!--{/if}--></dd>
            <dt>タグ</dt>
                <dd><!--{foreach from=$plugin_schedule_tags[$plugin_schedule.id]|smarty:nodefaults item='plugin_schedule_tag' name='loop'}--><a href="{$freo.core.http_file}/schedule?tag={$plugin_schedule_tag|smarty:nodefaults|escape:'url'}">{$plugin_schedule_tag}</a><!--{if !$smarty.foreach.loop.last}-->,&nbsp;<!--{/if}--><!--{/foreach}--></dd>
        </dl>
    <!--{/foreach}-->

おまけのCSS

下記ソースを[freo/css/default.css]に加筆してください。

dl.schedule dt{
    clear:left;
    float:left;
    width:135px;
    margin:0 0 8px;
    background-color:#cccccc;
    border-left:3px solid #000000;
    padding-left:5px;
}
dl.schedule dd{margin:0 0 8px 150px;}
dl.schedule dd img{max-width:200px;}

スケジュールプラグインのテーブル構成

  • イベントをリスト管理します。
  • 初期状態のテーブル名は freo_plugin_eventlistです。
フィールド タイプ ヌル キー 備考 格納データ 補足
id INT UNSIGNED   KEY AUTO_INCREMENT イベントID  
category_id VARCHAR YES     カテゴリーID  
created DATETIME       登録日時 新規登録日時で自動的に反映
modified DATETIME       更新日時 最終更新日時を自動的に反映
datetime DATETIME       開催日時 現在日時が自動的に反映。任意で入力も可能。
enddatetime DATETIME       終了日時 現在日時が自動的に反映。任意で入力も可能。
title VARCHAR(255) YES     予定名  
url TEXT YES     予定URL  
tag VARCHAR(255) YES     タグ  
place VARCHAR(255) YES     場所  
option01 TEXT YES     オプション1  
option02 TEXT YES     オプション2  
option03 TEXT YES     オプション3  
option04 TEXT YES     オプション4  
option05 TEXT YES     オプション5  
option06 TEXT YES     オプション6  
option07 TEXT YES     オプション7  
option08 TEXT YES     オプション8  
option09 TEXT YES     オプション9  
option10 TEXT YES     オプション10  
text TEXT YES     コメント  

スケジュールプラグインのカテゴリーテーブル構成

  • スケジュールのカテゴリーを管理します。
  • 初期状態のテーブル名は freo_plugin_schedule_categoryです。
フィールド タイプ ヌル キー 備考 格納データ 補足
id INT UNSIGNED   KEY AUTO_INCREMENT イベントID  
created DATETIME       登録日時 新規登録日時で自動的に反映
modified DATETIME       更新日時 最終更新日時を自動的に反映
sort INT UNSIGNED       表示順 自動的に入力。任意で入力も可能。
name VARCHAR(255)       カテゴリー名  
memo TEXT YES     カテゴリーのコメント  

更新履歴

2014/03/01 配布開始
2016/01/14 終了日付が不正であった不具合を解消。
[freo/libs/freo/plugins/config.schedule.php]
[freo/libs/freo/plugins/page.schedule.php]をアップデートしてください。
   
   

ページ移動

関連記事

ページ上部へ