プラグインのAPI ― イベントフック
利用可能な内蔵プラグインのイベントフック一覧です (Serendipity 1.0-alpha1現在)。
これらはあなたのPHPコード内で関数のように実行されます。
serendipity_plugin_api::hook_event( 'css', $eventData, $addData );
最初のパラメータはフックの名前です。以下の説明をご覧下さい。
$eventData はあなたのプラグインに入出力されたデータを保持している配列を参照しています。
$addData はこのイベント用の追加情報で、読み取り専用の配列です。
イベントプラグインがどのように実行されるかを見るのに最適な方法は、フック用のPHPファイルの中身を探ることです。 ですから、あなたが frontend_configureフックがどのように実行されるのか知りたいのなら、こんな風に見つけることができます (例はUNIX環境です):
find -name \*.php \
-exec grep -i -l -d skip \
"serendipity_plugin_api::hook_event('frontend_configure'" \
{} \;
こうすることで、frontend_configureフックが呼び出されている場所の一覧が返ってきます。
プラグインフックはSmarty特有のテンプレート操作を通しても実行可能です。
一覧
フロントエンドのフック
-
css - テンプレートのCSSコード。
入力データ:CSSのコンテンツでいつでも変更可能 -
frontend_configure - s9yの設定項目が呼び出された後に呼ばれます。
プラグインは設定項目を上書き・変更できます。
入力データ:設定項目 -
entry_display - エントリが表示される時、エントリの完全な一覧取得のために呼ばれます。
入力データ:エントリの一覧 - entries_header - エントリ一覧に利用可能なヘッダを表示する時に呼ばれます。
- entries_footer - エントリ一覧に利用可能なフッタを表示する時に呼ばれます。
- frontend_header - 全エントリ一覧ページにヘッダを表示する時に呼ばれます。
- frontend_footer - 全エントリ一覧ページにフッタを表示する時に呼ばれます。
- entry_groupdata - エントリーの入力配列が日付または他の条件でソートされる時に呼ばれます。
- frontend_fetchentries - エントリ一覧を取得する時に呼ばれます。SQLステートメントは変更できます。
- frontend_fetchentry - 一つのエントリを取得する時に呼ばれます。SQLステートメントは変更できます。
- frontend_entryproperties - エントリのプロパティが取得される時に呼ばれます。
- frontend_entryproperties_query - SQLの serendipity_entryproperties テーブルからプロパティを取得するために必要である場合、いくつかのSQLジョインを追加するために呼ばれます。
- fetchcomments - エントリについたコメントの一覧を取得する時に呼ばれます。
-
frontend_display - 一つのエントリまたはコメントを表示する前に呼ばれます。
入力データ:アイテムかエントリのデータ - frontend_display_cache - エントリのキャッシュ済みデータを表示可能にしている場合、いくつかのキャッシュされないロジックを機能させるために呼ばれます。
-
frontend_comment - コメント追加画面で呼ばれます。
入力データ:Null -
frontend_display:rss-1.0:namespace - RSS1.0フィード内で呼ばれます。
入力データ:全エントリのデータ -
frontend_display:rss-2.0:namespace - RSS2.0フィード内で呼ばれます。
入力データ:全エントリのデータ -
frontend_display:rss-1.0:once - RSS1.0フィード内で呼ばれます。
入力データ:全エントリのデータ -
frontend_display:html:per_entry - 一つのエントリを表示する直前に呼ばれます。
入力データ:エントリのデータ -
frontend_display:rss-2.0:per_entry - RSS2.0フィード内で各アイテムごとに呼ばれます。
入力データ:エントリのデータ -
frontend_display:rss-1.0:per_entry - RSS1.0フィード内で各アイテムごとに呼ばれます。
入力データ:エントリのデータ - frontend_entries_rss - エントリのRSSフィードが表示された時に呼ばれます。
- frontend_rss - RSSフィードのヘッダが表示された時に呼ばれます。
- frontend_saveComment - コメントを保存する時に、spamを防止するために呼ばれます。
-
frontend_generate_plugins - サイドバープラグインの一覧を生成する時に呼ばれます。
設定に応じて、フロントエンドから特定のプラグインを隠すために使われます。 - quicksearch_plugin:Quicksearchプラグイン (例えば、livesearchによって使用されます) の出力のためにHTMLコードの挿入を許可します。
- frontend_image_selector と いくつかの他の frontend_image_* フックは、メディアファイルセレクタを形成するための特定のHTMLコードを注入するために、メディアマネージャによって使用されます。
- external_plugin - Srendipityフレームワークを利用しつつも、プラグインがブログから独立して呼び出しできるように、外部URLを登録を許可します。
- genpage - SerendipityのSmartyフレームワークがインスタンス化される時に呼ばれます。
- frontend_calendar - カレンダーアイテムが表示される時に呼ばれます。
- frontend_xmlrpc - ブログにXML-RPC APIメソッドのコールがされた時に呼ばれます。
- xmlrpc_deleteEntry - XML-RPC APIのコールでエントリが削除される時に呼ばれます。
- xmlrpc_fetchEntry - XML-RPC APIのコールでエントリが取得される時に呼ばれます。
- xmlrpc_updertEntry - XML-RPC APIのコールでエントリが更新される時に呼ばれます。
バックエンドのフック
-
css_backend - バックエンド用テンプレートのCSSコード
入力データ:CSSのコンテンツ -
backend_auth - ユーザー認証の際に実行されます。
入力データ:ユーザーデータ -
backend_category_addNew - 新規カテゴリを追加する時に実行されます。
入力データ:カテゴリデータ -
backend_category_delete - カテゴリを削除する時に実行されます。
入力データ:カテゴリデータとカテゴリID -
backend_category_showForm - カテゴリのプロパティを表示する時に呼ばれます。
入力データ:カテゴリの一覧 -
backend_category_update - カテゴリを更新する時に実行されます。
入力データ:カテゴリデータ - backend_users_add - ユーザーを追加する時に呼ばれます。
- backend_users_delete - ユーザーを削除する時に呼ばれます。
- backend_users_edit - ユーザーを削除する時に呼ばれます。
- backend_comments_top - バックエンドのコメントセクションにて、エントリについたコメント群を表示する時に呼ばれます。
- backend_view_comment - バックエンドのコメントセクションにて、コメントを見るときに呼ばれます。
- backend_wysiwyg - バックエンドにてWYSIWYGエディタを表示する時に呼ばれます。
- backend_wysiwyg_finish - バックエンドにてWYSIWYGエディタの初期化が完了した時に呼ばれます。
- backend_wysiwyg_nuggets - ページ上の複数のWYSIWYGナゲットを初期化する時に呼ばれます。
-
backend_configure - Serendipityのバックエンド初期化時に呼ばれます。
入力データ:設定データ -
backend_delete_entry - エントリを削除する時に呼ばれます。
入力データ:エントリデータ -
backend_preview - エントリをプレビューする時に呼ばれます。
入力データ:エントリデータ -
backend_publish - エントリを公開する時に呼ばれます。
入力データ:エントリデータ -
backend_save - エントリを草稿として保存する時に呼ばれます。
入力データ:エントリデータ -
backend_display - エントリを編集のために表示する時に呼ばれます。
入力データ:エントリデータ - backend_trackbacks - トラックバックを送るべくリンクの一覧が取得された時に呼ばれます。
- backend_trackback_check - リンクがトラックバックリンクなのかどうか確認する時に呼ばれます。
- backend_entryform - エントリの編集・作成用のフォームを表示するために呼ばれます。
-
backend_sidebar_entries - 管理スイートのエントリセクションのメニュー一覧を生成する時に呼ばれます。
入力データ:設定ディレクティブ - backend_sidebar_entries_images - 管理スイートのメディアセクションのメニュー一覧を生成する時に呼ばれます。
- backend_sidebar_admin_appearance - 管理スイートの外観セクションのメニュー一覧を生成する時に呼ばれます。
- backend_sidebar_admin - 管理スイートの管理セクションのメニュー一覧を生成する時に呼ばれます。
- backend_entry_checkSave - エントリを保存しようとした時、保存の前に呼ばれます。
- backend_entry_presave - エントリがデータベースに挿入される直前に実行されます。
-
backend_entry_updertEntry - 記事の作成・保存が失敗した時、エラーメッセージ一覧を取得するために呼ばれます。
入力データ:エラーメッセージ - backend_cache_purge - エントリキャッシュのクリアが必要な時に呼ばれます。 (Entrypropertiesプラグイン)
- backend_cache_entries - エントリの一覧をキャッシュするために呼ばれます。 (Entrypropertiesプラグイン)
-
backend_import_entry - 新しいエントリがバックエンドに作られて追加された後のインポートプロセスの最中に呼ばれます。
入力データ:エントリデータ
付加データ:当該エントリの付加プロパティを保持する配列
(今のところまず、エントリの改行を<br>タグに変換するかどうかを定義するため nl2br が TRUEまたはFALSE にセットされます)
このフックは現在のところ、最新のCVSヘッドリビジョンでのみ有効です。 -
backend_image_add - 新規にメディアアイテムを追加する時に呼ばれます。
入力データ:メディアアイテム -
backend_image_addHotling - リンク無しのメディアアイテムを追加する時に呼ばれます。
入力データ:メディアアイテム -
backend_image_addform - 新規画像を追加するためのフォームを表示する時に呼ばれます。
入力データ:メディアデータ -
backend_login_page - s9yバックエンドへのログインフォームを表示する時に呼ばれます。
入力データ:設定データ - backend_entry_toolbar_body - 本文表示部の上の方に、管理者インターフェイスへのログイン用パーツを表示できます。
- backend_entry_toolbar_extended - エントリ拡張表示部の上の方に、管理者インターフェイスへのログイン用パーツを表示できます。
- backend_plugins_fetchlist - 利用可能プラグインの一覧を上書きできます。 SPARTACUSはこれを利用しています。
-
backend_plugins_fetchplugin - プラグイン自身で必要ファイルを取得する機能を呼び出します。ローカルプラグインの自己取得を上書きできます。
SPARTACUSで使われています。 -
backend_plugins_new_instance - 新しいプラグインが追加された時に呼ばれます。
SPARTACUSで使われています。 -
backend_plugins_event_header - 利用可能プラグインの一覧を表示する前に呼ばれます。
入力データ:プラグイン群 -
backend_plugins_sidebar_header - サイドバープラグインアイコンの一覧を表示する時に呼ばれます。
SPARTACUSで使われています。 -
backend_template_fetchlist - 利用可能なテーマの一覧を取得する時に呼ばれます。
SPARTACUSで使われています。 -
backend_template_fetchtemplate - 指定したテーマを取得する時に呼ばれます。
SPARTACUSで使われています。 - event_additional_statistics - 他のプラグインにも統計を発行するために、統計プラグインによって利用されます。
- backend_frontpage_display - 管理者パネルの正しいスタートページを表示するために呼ばれます。