Top/スキン/技術資料

スキンの技術資料



関連

PukiWikiパッケージのスキン

スキン開発者向け

スキンを開発してみようと思う方へ(作成途中...)

スキン開発者向け、内部定義される変数

$_page
ページ名($vars['page']のコピー)
各種判定などに用いる
$r_page
URI用にエンコードされたページ名
$is_page
フラグ: バックアップを表示している時以外で、有効なページ名を持った一般ページの時にTRUE
$is_read
フラグ: 存在するページを閲覧している時にTRUE
$is_freeze
フラグ: ページが凍結されている時にTRUE
$title
エスケープ済みのタイトル
主に、titleタグで使用する。
$page
リンク加工されたタイトル
$body
エスケープ済みの本文
$lastmodified
そのページの最終更新時刻
どのように表示するかは、スキンのポリシーによる
$related
関連するページのリスト
どのように表示するかは、スキンのポリシーによる
$attaches
添付ファイルのリスト
どのように表示するかは、スキンのポリシーによる
$notes
注釈のリスト
どのように表示するかは、スキンのポリシーによる
$head_tag
プラグインなどが独自に<head>内に追加するタグ
実際に出力するかは、スキンのポリシーによる

スキン開発者向け、主な内部関数

lib/html.php
  • catbody()
    • スキンファイルを直接呼び出している場所
    • スキン内定義を除けば、各種定義などを最終設定している場所
  • pkwk_common_headers()
    • 設置者がスキンの種類に関係なく設定しているheaderを、出力するための関数。1.4.5 以降対応。(開発日記/2004-12-24
      デフォルトでは、zlib.output_compression 関連(BugTrack/738)のみ定義されている。
  • pkwk_output_dtd($pkwk_dtd, $charset)
    • $pkwk_dtdの値に応じて(X)HTMLのDTD、およびHTMLの開始タグを出力する。1.4.5 以降対応。(BugTrack/768
      通常は必要ないが、本文などの出力内容の文字コードを内部定義とは違うものに変換した場合は、$charsetにその文字コード名を明示して呼び出す必要がある。
lib/func.php
  • htmlsc($string, $flags, $charset)
    • 変換に用いるデフォルトの文字コードがUTF-8やdefault_charset設定に変更された、htmlspecialchars 関数用の互換ラッパーです(1.5 系) → BugTrack2/355
    • GREPによる検索・置き換えで簡単に互換動作できるよう、htmlspecialchars() → htmlsc() とした場合の$flags と$charset 初期値は、過去のバージョン準拠に近づくよう設定されています。(本体設定と異なる文字コードを扱う可能性がある場合は、置き換えだけでなく文字コードを明示指定する必要があります)
    • 将来のバージョンでデフォルト動作が変更となっても問題がないよう、ソースコードでは$flags と$charset を可能な限り明示的に呼び出す事をお勧めします。

補足情報

  • BugTrack2/213 グローバル変数 $scriptは参照せず、get_script_uri() を使用することを推奨
    • リダイレクトする場合は絶対パスである事が必須なので、必ずget_script_uri() を使用してください
  • BugTrack2/262
    • 出力を開始する前にメニューバーなどのコンバートをしておかないと、(X)HTMLのフラグ($pkwk_dtd)変更などがあっても無意味になる
    • スキン内で以前の仕様と混在する状況が発生すると多重呼び出しを防止する機構などが誤動作する可能性があるため、パッチを適用など改修をする際には注意が必要です のの→ BugTrack2/386

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-06-29 (水) 17:25:13
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.345 sec.

OSDN