Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2004-02-26 20:40:30

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: NP_IncludeEX

拡張インクルードとでもいうべきものを作ってみました。 スキンに外部ファイルを読み込む際に柔軟な設定ができます。
スキンに対して細かくコントロールをしたい人向け。

不具合等ありましたら報告ください。


■概要
スキンへ読み込みたいファイル名を、用意された変数を使って指定できます。

<%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
info.php?y=2004&m=01
1_month.php
function.txt(このファイル内のスキン変数は入れ子で記述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 = "y-m-d"
archivetype = "month" or "day"
archivedate = "archive_y-archive_m(-archive_d)"
version = "v2.5 CVS", etc...
version_num = "249", etc...

第3パラメーター:特殊フラグ
PARSE_TWICE:パースタイプに"parsed"が含まれている場合にネストしたスキン変数に対応します。ネストレベルは1段階のみ。
※スキンに直接ネスト記述ができるのではなく、あくまで読み込みファイル内で対応していることに注意してください。


■プラグインオプションについて
Debug Mode:
インクルードされる実際のファイル名のみを表示します。
変数が意図したとおりに代入されているかを確認できます。

Include mode in second parsing:
parsed+phpの2段階目の処理についてオプションを選べます。
file:処理を一時ファイルで行う(ファイル生成・削除のぶん遅い?)。従来どおりファイル内にPHPとHTMLを混用できる。
memory:処理をeval関数で行う。通常のphpincludeと違い、<?php ?>タグをつけてはいけない。ファイルにはPHPコードのみ記述。


■その他
ファイル名にクエリー文字列(?key=value)を渡せるパースタイプは"php", "php+parsed"のみです。
またクエリー文字列つきのファイル名はリモートファイルとして読み込まなければ機能しないため、
PHPの設定でallow_url_fopen がOnになっていること
Nucleus設定でスキンURLやスキンのインクルードモードが正しく設定されていること
が前提条件になります。


Attachments:
zip NP_IncludeEX_v0.3.zip, Size: 3.27 KiB, Downloads: 950
zip NP_IncludeEX_v0.32.zip, Size: 3.59 KiB, Downloads: 538

Nucleusだとか
http://nucleus.datoka.jp/

オフライン

#2 2006-09-18 21:37:00

yu
メンバー
From: 神奈川
登録日: 2003-11-15
投稿: 718
ウェブサイト

Re: NP_IncludeEX

NP_IncludeEX のセキュリティ修正版を出しました。
利用してる方はこちらの再インストールをお願いします。


Nucleusだとか
http://nucleus.datoka.jp/

オフライン

Board footer