「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
簡単なダッシュボードウィジェットを作る(その1)
先日、風の便り(?)で、以下のような話を耳にしました。
Movable Typeのダッシュボードに、日常行う作業のリンクを一覧表示できれば、お客様に「このメニューから作業してください」というようなことを伝えやすい。
上記のようなことは、ダッシュボードウィジェットのプラグインを作成すれば可能です。
プラグインといっても、簡単なダッシュボードウィジェットなら、config.yamlファイルとテンプレートだけで作ることができ、プログラミングは不要です。
数日に分けて、簡単なダッシュボードウィジェットを作る方法を紹介します。
今日は、config.yamlファイルの書き方を解説します。
1.config.yamlファイルの書き方
まず、プラグインの名前等の設定を記述するために、config.yamlファイルを作ります。
config.yamlファイルの書き方は以下のようになります。
name: プラグインの名前 id: プラグインのID description: プラグインの概要 version: プラグインのバージョン widgets: ダッシュボードウィジェットのID: label: ラベル plugin: $プラグインのID template: ファイル名 singular: true set: mainまたはsidebar
各行の内容は以下の通りです。
行 | 内容 |
---|---|
name: プラグインの名前 | プラグインの名前を自分で決めて指定します。 この名前が、管理画面のプラグイン一覧のページに表示されます。 |
id: プラグインのID | プラグインのIDを自分で決めて指定します。 IDは英数字で付けます。 |
description: プラグインの概要 | プラグインの概要を入れます。 |
ダッシュボードウィジェットのID: | ダッシュボードウィジェットのIDを自分で決めて指定します。 |
label: ラベル | ダッシュボードで、追加するウィジェットを選ぶ欄に、ここで指定したラベルの文字列が表示されます。 |
plugin: $プラグインのID | 「プラグインのID」のところを、「id: プラグインのID」の行で指定したIDに置き換えます。 |
template: ファイル名 | 後でウィジェットのテンプレートを作りますが、そのファイル名を指定します。 |
singular: true | この行を入れると、そのウィジェットをダッシュボードに1回だけ追加することができます。 この行がないと、そのウィジェットをダッシュボードに何度でも追加できるようになります。 |
set: mainまたはsidebar | 「set: main」の行を入れると、そのダッシュボードウィジェットは、メイン部分(ダッシュボードの左寄り)にのみ追加できるようになります。 また、「set: sidebar」の行を入れると、そのダッシュボードウィジェットは、サイドバー部分(ダッシュボードの右寄り)にのみ追加できるようになります。 この行を入れない場合は、そのダッシュボードウィジェットはメイン/サイドバーのどちらにも追加できるようになります。 |
なお、プラグインの説明とラベルは、日本語で入力することもできます。
日本語化する場合、本来なら英語から日本語に翻訳する辞書を作ることが必要です。
ただ、config.yamlファイルの文字コードを、mt-config.cgiのPublishCharsetの設定と同じにしておけば、とりあえずはconfig.yamlファイルに直接に日本語を書くことができます。
2.config.yamlファイルの例
例えば、以下のような仕様で、ダッシュボードウィジェットを作りたいとします。
項目 | 内容 |
---|---|
プラグイン名 | Dashboard Widget Sample |
プラグインのID | DashboardWidgetSample |
プラグインの概要 | ダッシュボードウィジェットの例 |
プラグインのバージョン | 1.0 |
ダッシュボードウィジェットのID | sample_widget |
ラベル | 作業メニュー |
テンプレートのファイル名 | sample_widget.tmpl |
複数回追加の可否 | 不可 |
ダッシュボードウィジェットの追加先 | メイン |
この場合、config.yamlファイルを以下のように書きます。
name: Dashboard Widget Sample id: DashboardWidgetSample description: ダッシュボードウィジェットの例 version: 1.0 widgets: sample_widget: label: 作業メニュー plugin: $DashboardWidgetSample template: sample_widget.mtml singular: true set: main