任意のページに文字を表示するサンプル

このプラグインについて

任意のページに文字を表示するサンプルです。

任意のページに今日の曜日を表示するだけのプラグインを作成し、プラグイン作成の流れを解説します。

ダウンロード

以下のリンクからプラグインをダウンロードできます。

導入方法

ファイルのアップロード

config.sample4.phpdisplay.sample4.phplibs/freo/plugins/ ディレクトリ内にアスキーモードでアップロードします。

テンプレートの編集

曜日を表示したいページのテンプレートに、以下の記述を追加します。

<p>今日は「{$plugin_sample4}」です。</p>

完了

編集したテンプレートが使用されるページにアクセスし、今日の曜日が表示されれば成功です。

コード解説

まずは、半角英数字とアンダーバーで任意のプラグインIDを決めます。今回は、プラグインIDは sample4 とします。

config.sample4.php

<?php

//プラグインの名前
define('FREO_PLUGIN_SAMPLE4_NAME', 'サンプル4');

//プラグインのバージョン
define('FREO_PLUGIN_SAMPLE4_VERSION', '0.0.0');

?>

config. + プラグインID + .php」というファイルを作成すると、プラグインの設定ファイルとして扱われます。

FREO_PLUGIN_ + 大文字表記のプラグインID + _NAME」という定数で、プラグインの名前を定義します。これは管理ページのプラグイン一覧などに表示されます。この定義はどんなプラグインを作る場合でも必須です。

FREO_PLUGIN_ + 大文字表記のプラグインID + _VERSION」という定数で、プラグインのバージョン情報を定義します。この定義はどんなプラグインを作る場合でも必須です。バージョン情報の表記方法は自由に決めることができます。(21.21.0.2 など、いずれの形式も可です。)

今回は定義していませんが、「FREO_PLUGIN_ + 大文字表記のプラグインID + _LOAD_DISPLAY」という定数を定義すると、display.sample4.php ファイルの読み込みタイミングを制御できます。具体的には

//displayファイルの読み込み設定
define('FREO_PLUGIN_SAMPLE4_LOAD_DISPLAY', 'sample4');

と定義しておくと、freo/index.php/sample4 にアクセスしたときのみ display.sample4.php が読み込まれます。

この定義は、, 区切りで複数指定することができます。具体的には、

//displayファイルの読み込み設定
define('FREO_PLUGIN_SAMPLE4_LOAD_DISPLAY', 'sample1,test,aaa/bbb');

と定義しておくと、freo/index.php/sample1freo/index.php/testfreo/index.php/aaa/bbb にアクセスしたとき display.sample4.php が読み込まれます。

今回は定義していませんが、「FREO_PLUGIN_ + 大文字表記のプラグインID + _UNLOAD_DISPLAY」という定数を定義すると、display.sample4.php ファイルを読み込まないタイミングを指定できます。具体的には、displayファイルの読み込み設定の代わりに

//displayファイルの読み込み除外設定
define('FREO_PLUGIN_SAMPLE4_UNLOAD_DISPLAY', 'abc');

と定義しておくと、freo/index.php/abc にアクセスしたとき以外に display.sample4.php が読み込まれます。

display.sample4.php

<?php

/* メイン処理 */
function freo_display_sample4()
{
  global $freo;

  //曜日を定義
  $weeks = array('日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日', );

  //今日の曜日を取得
  $week = $weeks[date('w')];

  //データ割当
  $freo->smarty->assign('plugin_sample4', $week);

  return;
}

?>

page. + プラグインID + .php」というファイルを作成し、そのファイル内で「freo_page_ + プラグインID」という関数を定義すると、データを表示する直前に呼び出されます。

今回は、現在の曜日を取得してSmartyの plugin_sample4 に割り当てています。この値は、テンプレートで {$plugin_sample4} と書くと参照できます。