plugins:includeex

NP_IncludeEX.php

スキンへ読み込みたいファイル名を、用意された変数を使って指定できます。 インクルード方法も選べます。

General Plugin info
作者: yu
最新のバージョン: 0.32
入手先: http://japan.nucleuscms.org/bb/viewtopic.php?t=138 http://works.datoka.jp/?itemid=199
ソース: includeex_code
動作サンプル:
フォーラム参照先: http://japan.nucleuscms.org/bb/viewtopic.php?t=138
セキュリティチェック:

インストール方法

  1. Zipファイルを展開して、中身をサーバーのプラグインディレクトリにアップロードする
  2. 管理画面からプラグインをインストールする

このプラグインの使い方

スキンにプラグイン変数を記述します。

スキン/テンプレートへの記述

第1パラメーターにパースタイプ、第2にファイル名、第3に特殊フラグをとります。第1、第2は省略できません。

<%IncludeEX(none,banner{blogid}_{catid}.txt)%> 
<%IncludeEX(parsed,{shortname}_{skintype}.inc)%> 
<%IncludeEX(php,info.php?y={y}&m={m})%> 
<%IncludeEX(parsed+php,{blogid}_{archivetype}.php)%> 
<%IncludeEX(parsed,function.txt,PARSE_TWICE)%>

これらが次のような感じに変換されます。

banner1_8.txt 
blogname_archivelist.inc //'parsed'によって、ファイル中のスキン変数が解釈されます
info.php?y=2004&m=01 //'php'によって、ファイル中のPHPコードが解釈されます
1_month.php //'parsed+php'によって、スキン変数、PHPコードの順で解釈されます
function.txt //'PARSE_TWICE'によって、このファイル内のスキン変数は入れ子で記述OK

パラメータの解説

スキンパラメータを詳しく説明します。

第1パラメータ:パースタイプ

none, php, parsed, parsed+php, php+parsed の5種あります。

  • none:ファイルをそのままインクルードします。
  • php:ファイルをPHPで処理します。phpinclude()相当。
  • parsed:ファイル内のスキン変数を展開します。parsedinclude()相当。
  • parsed+php:インクルードするファイルに対して、スキン変数の展開、PHPの順に処理します。処理は重めなので、多用しないほうがいいかも。
  • php+parsed:インクルードするファイルに対して、PHP、スキン変数の展開の順に処理します。parsed+phpにくらべれば処理は軽いはず。

第2パラメータ:ファイル名

ここで使う変数は大括弧{}でくくります。次の変数が使えます。 カテゴリーを絞ってない場面で{catid}変数を使うなど場面に合わない参照をすると、"0"が代入されるか、何も値が入りませんので注意。

  • blog:{blogid} {shortname}
  • カテゴリー:{catid} {catname}
  • アイテム:{itemid}
  • メンバー:{memberid}
  • スキン:{skinid} {skinname} {skintype}
  • 日付:{date} {y} {m} {d}
  • アーカイブ:{archivetype} {archivedate} {archive_y} {archive_m} {archive_d}
  • システムのバージョン:{version}
  • システムのバージョンNo.:{version_num}
  • ランダム(0~9):{random_num}
  • ランダム(数値パラメータ指定):{random_num:0-99}, etc…
  • ランダム(a~z):{random_alpha}
  • ランダム(文字パラメータ指定):{random_alpha:a-e}, etc…

一部の値の変換例:

date : "2006-01-01" 
archivetype : "month" or "day"
archivedate : "2006-01" or "2006-01-01"
version : "v3.24", etc... 
version_num : "324", etc... 

第3パラメータ:特殊フラグ

パースタイプに"parsed"が含まれている場合にネスト(入れ子)したスキン変数に対応します。 スキンに直接ネスト記述ができるのではなく、あくまで読み込むファイル内の記述に対応していることに注意してください。

  • PARSE_TWICE:ネストレベルは1段階のみ

オプション

  • Debug Mode: インクルードされる実際のファイル名のみを表示します。変数が意図したとおりに代入されているかを確認できます。
  • Include mode in second parsing: parsed+phpの2段階目の処理についてオプションを選べます。
file: 処理を一時ファイルで行う(ファイル生成・削除のぶん遅い?)。従来どおりファイル内にPHPとHTMLを混用できる。
memory: 処理をeval関数で行う。通常のphpincludeと違い<?php ?>タグをつけてはいけない。ファイルにはPHPコードのみ記述。

Tipsと裏技

  • ファイル名にクエリー文字列(?key=value)を渡せるパースタイプは"php", "php+parsed"のみです。
  • "parsed+php"は、処理が重いので多用しないほうが無難です。
  • クエリ文字列つきのファイル名はリモートファイルとして読み込まなければ機能しないため、PHPの設定で allow_url_fopen がオンになっていること、また、Nucleus設定でスキンURLやスキンのインクルードモードが設定されていることが前提条件になります。
  • コア改造による変数内に変数を記述可能にする方法はhttp://kandk.cafe.coocan.jp/nucleus/index.php?itemid=316

希望事項

バグ

開発履歴

  • 2006-09-30 Version 0.32 (セキュリティフィックス)
  • 2004-02-26 Version 0.3 ("php+parsed"、"PARSE_TWICE"等の追加、デバッグモード追加)
  • 2004-01-21 Version 0.2 ("parsed+php"追加)
 
plugins/includeex.txt · 最終更新: 2011/03/23 21:28 (外部編集)