サマリ | 行数制限つきinclude |
---|---|
リビジョン | 1.0 |
対応バージョン | 1.4.x |
投稿者 | a-isd |
投稿日 | 2004-05-30 (SUN) 12:44:50 |
sonots:includex.inc.php に引っ越しました。
読み込み行数制限つきのincludeです。標準のincludeを簡単に改造しました。
articleプラグインが置かれていて成長するページの先頭50行をFrontPageに表示 なんてことをするのに使います。
#include2({ページ名},{行数})
行数を指定しなければ、includeと同じ挙動をするはずです。
#include2({ページ名},{行数指定},{オプション})
include2 を使用しているのに標準プラグイン include を使用しているページが残っているとおかしな動作になることがあります。
include と include2 がもつ、すでに表示したかどうかの判断は別々です。よって
#include2(page2)
#include(page1)
のようにされると現在表示しているページが page1 だとして、 もちろんすでに page1 を表示しているので include しないはずが include できてしまいます。
よって最初にすべてを inlcude2 に書き換えるか、 この現象が起きたときに include と include2 の不整合のせいであることを思い出して include2 に書き直してみてください。
ファイル名を include2.inc.php に変更して、plugin ディレクトリに放りこんでください。
ファイル名 | 日付 | 作者 | 変更点 |
![]() | 2005-03-05 | sonots | ページタイトルアンカーが固定アンカーになるように変更*1。見出しと同じようにアンカーリンクが表示されるように変更。 |
![]() | 2005-03-04 | sonots | 先のアンカーを改造#includeと共存するように改造*2。ところどころにおかしな記述があったので修正*3。いっそのこと最新 include.inc.php とマージ*4。コードの整頓*5。 |
![]() | 2005-02-25 | sagen | ページタイトルの見出しにアンカーを付けるように変更。インクルードする最大ページ数設定可能に。 |
![]() | 2005-01-12 | 1+1 | 行指定の書式を変更 |
![]() | 2005-01-11 | 1+1 | includeする開始行も指定できるように拡張。page オプションを追加。 |
![]() | 2004-11-10 | sagen | オプションを追加。read, edit, title, noneを追加 |
![]() | 2004-07-28 | baniko | コメント行はskip |
![]() | 2004-05-30 | a-isd | include からの diff |
![]() | 2004-05-30 | a-isd | 初版 |
便利に利用させてもらっています。元のページにコメント(//)が入っている場合、表示行数が減ってしまって・・・。そこで、コメント行はskipするように改良を加えました。試してみてください。
$link = "<a href=\"$script?cmd=edit&page=$r_page\">$s_page</a>";って何で「cmd=edit&page=」が入ってるんでしょうか。クリックすると編集ページが開いてしまうので、
$link = "<a href=\"$script?$r_page\">$s_page</a>";こうした方がいいような気がするのですが……。これだと何か問題があるのかな? -- sagen 2004-11-01 (月) 11:31:33
#include2({ページ名},{行数},{オプション})と引数を一つ追加して、オプションで
#include2({ページ名},{行指定},{オプション})
#include2({ページ名},{行指定},{オプション})
引数設定は、このようになります。
preg_match('/^#include\((.+)\)/', $line, $matches) &&を
preg_match('/^#include.+\((.+)\)/', $line, $matches) &&にする必要があります。それとついでに、インクルードする最大ページ数を設定可能にしました。26行目の
// インクルードする最大ページ数 define('PLUGIN_INCLUDE2_MAX', 5);で設定してください。 -- sagen 2005-02-25 (金) 15:56:18
preg_match('/^#include.*\((.+)\)/', $line, $matches) &&のようにしました*7。したのはよいのですが、改造 #include と #include2 の $count (何 include 目かのカウンタ)が独立しているので、#include と #include2 を両方使用しているような人がいた場合、アンカーが合わなくなってしまいます。というわけで、#include と $include2 共通の global なカウンタをもつように改造したのが