*プラグイン作成の基本 [#hc564ceb] #contents **プラグインスクリプトファイルの作成 [#wd083282] 例えば、「test」という名前のプラグインを作成するならば、「test.inc.php」という名前のファイルをPukiWikiのプラグインフォルダに作成する。ファイルは、適当な文字コード(通常はEUC)で保存する。 **インラインプラグインの作成 [#f2e9d749] インラインプラグイン(「&test();」と書いて使用するもの)では、「plugin_プラグインの名前_inline」という名前の関数を作る。testプラグインでは、「plugin_test_inline」となる。 この関数では、表示する文字列を返すようにする。例えば、「&test();」で「こんにちは」と表示されるようにするには、次のようにする。 #code(php){{ <?php function plugin_test_inline() { return 'こんにちは'; } ?> }} ここで返す文字列はそのまま出力されるので、注意が必要(つまり、HTMLタグなども有効になる)。そのまま出力するのが危険な場合は、htmlspecialchars関数などで変換しておく。 **ブロックプラグインの作成 [#tdb6769a] ブロックプラグイン(「#test()」と一行に書いて使用するもの)では、「plugin_プラグインの名前_convert」という名前の関数を作る。testプラグインでは、「plugin_test_convert」となる。 この関数では、表示する文字列を返すようにする。例えば、「#test()」で「こんにちは」と表示されるようにするには、次のようにする。 #code(php){{ <?php function plugin_test_convert() { return 'こんにちは'; } ?> }} インラインプラグインと同様、そのまま出力されるので、注意が必要。 **コマンドプラグイン [#lfb7c60f] コマンドプラグイン(「./?plugin=test」のようなURLを呼び出して使用するもの)では、「plugin_プラグインの名前_action」という名前の関数を作る。testプラグインでは、「plugin_test_action」となる。 この関数では、ページのタイトルとページの内容が格納された配列を返す。ページのタイトルは「msg」、内容は「body」というキー名で格納する。例えば、「./?plugin=test」でタイトルが「テスト」で、内容が「こんにちは」と表示されるようにするには、次のようにする。 #code(php){{ <?php function plugin_test_action() { return array('msg'=>'テスト', 'body'=>'こんにちは'); } ?> }} //これより下は編集しないでください #pageinfo([[:Category/PukiWiki]],2006-08-01 (火) 02:09:28,DOBON!,2006-08-01 (火) 02:09:28,DOBON!) |