- 追加された行はこの色です。
- 削除された行はこの色です。
**PukiWikiのPlug-inの仕様 [#vf7eca73]
#contents
***プラグインディレクトリについて [#n4fa1cbf]
PukiWikiのページのHTMLへのコンバート時と、プラグイン機能からの値を受け取って処理を行うプラグインを設置することができます。
***ページ内でのプラグインの呼び出し [#a8ccd0ba]
#プラグイン名
#プラグイン名(arg1,arg2...)
-行頭にスペースは含めることはできない。
-引数内に括弧()を使用することができる。ただし ) 単体は不可。
-引数を指定しなくても呼び出せる
実際には プラグインディレクトリ/プラグイン名.inc.php 内の plugin_プラグイン名_convert() が呼ばれます
***URL指定でのプラグインの呼び出し [#q74b9870]
pukiwiki.php?plugin=プラグイン名
実際には プラグインディレクトリ/プラグイン名.inc.php 内の plugin_プラグイン名_action() が呼ばれます
***ファイル名 [#k4a8a55f]
プラグイン名.inc.php
***関数 [#z3423080]
function plugin_プラグイン名_convert()
function plugin_プラグイン名_inline()
-HTMLへのコンバート時に呼び出される。
-引数は func_get_args() で配列へ格納できる。([0]~[n])
-func_num_args() によって、渡された引数の数を求めることができる。
但し、
&hoge(引数リスト);
形式と
&hoge(引数リスト){[文字列]};
形式の互換のため、function plugin_プラグイン名_inline()では、前者は[文字列]部分が省略されている、という扱いになり、func_get_args() で格納した配列の最後が空文字列('')になり、引数の数も()内に記述した引数の数+1になります。
関連:[[BugTrack/404]]
function plugin_プラグイン名_action()
-GET・POSTメソッドでpluginを指定されたときに呼び出される
-返値に array("msg" => "$1 is page") などを返すと $1 をページ名としてページタイトルに置換される
-die() を実行することにより、ページに戻らないようにできる
//-返値に array("msg" => "$1 is page") などを返すと $1 をページ名としてページタイトルに置換される
-返値に array("msg" => "page's name", "body" => "contents of a page") とするとページ名とコンテンツを返すことができる。
-die() を実行することにより、ページに戻らないようにできる。head()で別ページに飛ばしたい時に便利。
***ファイル内容 [#z1aca986]
ユーザに設定させる初期値などについては、define で定義する。
コンバート時のGET・POSTの出力内容に必要なものは refer と plugin という値で、
>
refer : そのページの名前($vars["page"])~
plugin : プラグイン名
とします。
以下の値を global でグローバル変数にすることによって値を取得できます。
$script : スクリプト名
$get : GETメソッドによるHTTPからの引数
$post : POSTメソッドによるHTTPからの引数
$vars : GET・POST両方のメソッドによるHTTPからの引数
$vars["page"] : 開いているページ名
(strip_bracket関数により[[]]を取り除ける)
----
[[:CategoryDev]]