** bloginclude.inc.php [#nc31bb10]
|RIGHT:100|LEFT:360|c
|~サマリ|blog2プラグインで投稿した記事を、指定した条件で絞り込んで読み込むincludeプラグイン。|
|~リビジョン|0.08|
|~対応バージョン|1.4.X|
|~投稿者|[[sagen]]|
|~投稿日|&new{2005-03-26 (土) 17:53:35};|
|~更新日|&new{2005/05/01 (日) 22:54:20};|
-''[[blog2>自作プラグイン/blog2.inc.php]]''プラグインで投稿した記事を、指定した条件((''ページパターン''・''ページ数指定''・''行数指定''・''階層指定''・''ソートオプション''など))で絞り込んで読み込むincludeプラグインです。''[[include2>自作プラグイン/include2.inc.php]]''プラグインをベースに、''[[ls2_1>自作プラグイン/ls2_1.inc.php]]''プラグインの処理を参考にしています。&br;
''移動用のアンカー''・''全文表示へのリンク文字列''・''記事の投稿日時''も出力します。&br;
-ライセンスはGPLです。

#contents

***使用法 [#ae5802e8]
-ファイル名を''bloginclude.inc.php''にして、pluginフォルダに入れてください。

-''[[blog2>自作プラグイン/blog2.inc.php]]''プラグインで投稿した、&br;
日記/2004-12-15/ほげほげ1&br;
日記/2004-12-31/へろへろ2&br;
日記/2005-01-01/ほげほげ3&br;
日記/2005-01-15/へろへろ4&br;
日記/2005-02-14/ほげほげ5&br;
日記/2005-03-14/へろへろ6&br;
というページがある場合

--''#bloginclude(日記,5)'' と書くと&br;
へろへろ6・ほげほげ5・へろへろ4・ほげほげ3・へろへろ2 が表示されます。

--''#bloginclude(日記/へろへろ)'' と書くと&br;
へろへろ6・へろへろ4・へろへろ2 が表示されます。

--''#bloginclude(日記/2005/へろへろ)'' と書くと&br;
へろへろ6・へろへろ4 が表示されます。

--''#bloginclude(日記,5,,,ASC)'' と書くと&br;
ほげほげ1・へろへろ2・ほげほげ3・へろへろ4・ほげほげ5 が表示されます。

-%%''[[blog2>自作プラグイン/blog2.inc.php]]''で投稿したページで''添付ファイルを参照している場合''は、&ref(''ページ名/''ファイル名); と書かないとそのページを''bloginclude''で読み込んだ時に File not found エラーになります。いちいちページ名を書くのが面倒ならば、&ref(''&fpage;/''ファイル名); と書いておくと多少は楽かもしれません。%%&br;
→''v.0.06''で修正しましたので、ページ名を書く必要はなくなりました。

-%%''ja.lng(.php)''に''blog2navi.inc.php''の''7-12''行目を加えていると、''bloginclude''で''[[blog2>自作プラグイン/blog2.inc.php]]''で投稿した記事をインクルードした際にエラーメッセージが出ます。回避するには、以下の2つのどちらかを行ってください。%%
--%%#bloginclude(日記/Category/2005,,''2-''10) のように''行数指定''で''2行目以降''を読み込むようにする。%%
--%%''ja.lng(.php)''に加えた、''$_plugin_blog2navi_error_notblog2page = 'error: blog2で生成したページのみで有効です。';'' を ''$_plugin_blog2navi_error_notblog2page = '';'' に変える。%%&br;
→''v.0.06''の修正で、エラーメッセージが出なくなったようです。よってこの対策も不要になりました。

***書式 [#p803f566]
-ブロック型プラグイン。
 #bloginclude({ページパターン},{ページ数指定},{行数指定},{階層指定},{ソートオプション})
-''ページパターン''は / で区切って複数指定可能です。
-''ページ数指定''を省略時は、''PLUGIN_BLOGINCLUDE_NUMBER''で設定した数だけ読み込みます。
-''行数指定''
--''省略'':全部表示
--''m-n'' :m行目からn行目まで表示。
--''n-n'' :n行目の一行だけ追加。
--''m-''  :m行目から全部表示。
--''n''   :最初からn行目まで表示。(1-n と同じ。)
-''階層指定''を省略時は、''PLUGIN_BLOGINCLUDE_DEPTH''で設定した深さの階層を読み込みます。
-''ソートオプション''
--''省略'':''PLUGIN_BLOGINCLUDE_SORT''で設定した順序でページをソート。
--''DESC'':降順でページをソート。
--''ASC'' :昇順でページをソート。

***設定 [#fc111971]
-34行目以降の設定はお好みで変更してください。
 // インクルードするページ数 (デフォルト:10)
 define('PLUGIN_BLOGINCLUDE_NUMBER', 10);
 
 // インクルードする階層 (デフォルト:3)
 // 日記/200X-XX-XX/ほげほげ の場合
 define('PLUGIN_BLOGINCLUDE_DEPTH', 3);
 
 // ページのソート (デフォルト:'DESC')
 // define('PLUGIN_BLOGINCLUDE_SORT', 'ASC');	//昇順ソート
 define('PLUGIN_BLOGINCLUDE_SORT', 'DESC');	//降順ソート
 
 // 除外ページパターン
 // 書籍 or 映画 がページ名に含まれるページを除外する場合
 // define('PLUGIN_BLOGINCLUDE_EXCEPT_PAGE', '書籍/映画');
 define('PLUGIN_BLOGINCLUDE_EXCEPT_PAGE', '');
 
 // $non_list によるページ排除を使用する (true:使用する、false:使用しない)
 define('PLUGIN_BLOGINCLUDE_NON_LIST', true);
 
 // 上移動アンカーシンボル
 define('MOVEANCHOR_UP', '▲');
 
 // 下移動アンカーシンボル
 define('MOVEANCHOR_DOWN', '▼');
 
 //移動アンカーの書式
 define('MOVEANCHOR_PREFIX', 'anchor_');
 
 // 全文表示へのリンク文字列
 // define('LINK_TEXT', '続きを読む…');
 define('LINK_TEXT', 'Continue Reading...');
 
 // コメント行の除去 (true:除去する、false:除去しない)
 define('REMOVE_COMMENLINE', true);
 
 // #comment の除去 (true:除去する、false:除去しない)
 define('REMOVE_COMMENT', true);
 
 // #blog2navi() の除去 (true:除去する、false:除去しない)
 define('REMOVE_BLOG2NAVI', true);
 
 // &blog2trackback(); の除去 (true:除去する、false:除去しない)
 define('REMOVE_BLOG2TRACKBACK', true);

***ダウンロード [#dc6b5dc8]
-&ref(bloginclude.inc.php.8);

***サンプル [#dce49505]
-[[こちら:http://www.sagen.jpn.org/TrashText/pukiwiki.php?FrontPage]]へどうぞ。

***コメント [#g5e3511c]
-最新の○件は#blog2viewer(日記,○)でも表示できますが、月ごとに記事をまとめるのに便利ですね。&br; [[ja.lngにblog2naviプラグインの7-12行目を加える(各記事に前後の記事のタイトルを表示させるかわりに「前へ」「次へ」「目次」を表示させる):http://noldor.xrea.jp/noldor.info/index.php?blog2navi%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3]]と、このプラグインを使ったページに「error: blog2で生成したページのみで有効です。」が出てしまいますが、これはja.langの$_plugin_blog2navi_error_notblog2page = 'error: blog2で生成したページのみで有効です。';を$_plugin_blog2navi_error_notblog2page = '';に変更すれば解決しましたし…。
-記事に添付画像があると#ref(*.jpg)ではFile not found(記事にわざわざ#ref(ページ名/*.jpg)で指定しなくてはいけない)になるのと、全文表示のとき「Continue Reading...」の表示をしないで、記事タイトル(Hタグ)に記事へのリンクが貼られれば…というのがちょこっと気になりますが、[[blog2showプラグイン>自作プラグイン/blog2show.inc.php]]を使わない派なので、これは結構いいなと思い、使っております。ありがとうございます。 --  &new{2005-04-07 (木) 22:09:48};
--訂正:最新の○件は#blog2viewer(日記,○)でも表示できますが→いくつかの記事を途中まで表示(Continue Reading...(続きを読む)の表示)させての表示に役立ちますね --  &new{2005-04-09 (土) 14:00:27};
-ご利用いただきありがとうございます。⌣ 添付ファイルとblog2naviのメッセージに関して[[使用法>自作プラグイン/bloginclude.inc.php#ae5802e8]]に説明を追加しておきました。添付ファイルの方は気付いていましたが、blog2naviのメッセージはja.lngに付け加えてなかったので気付いてませんでした。すみません。&worried; &br; 全文表示される場合にも「Continue Reading...」となるのに関しては、とりあえずは仕様ということで。時間が取れれば処理を考えたい所ですが……。 -- [[sagen]] &new{2005-04-15 (金) 00:11:49};
--全文表示される場合には「Continue Reading...」が出力されないようにしました。 &ref(bloginclude.inc.php.5); それに伴い、記事の投稿日時で常に記事ページへリンクするようにしました。記事タイトルから記事ページへリンクというのはちょっと面倒そうなのでパスさせてもらいます。&br;ついでに引数で階層指定をできるようにしたので、blog2で投稿したページ以外の読み込みでも使えるようになったかもしれません。⌣ -- [[sagen]] &new{2005-04-16 (土) 16:35:26};
--読み込むページが''添付ファイルを参照している場合''に、&ref(''ページ名/''ファイル名); と書かなくて済むように修正しました((まさか、必要ないと思って''[[include2>自作プラグイン/include2.inc.php]]''にあった一部の処理を、''bloginclude''で使っていなかったのが原因だったとは……。&worried;)) &ref(bloginclude.inc.php.6); -- [[sagen]] &new{2005-04-16 (土) 22:48:01};
-''ソートオプション''で降順ソートか昇順ソートか指定できるようにしてみました。&ref(bloginclude.inc.php.7); -- [[sagen]] &new{2005-04-24 (日) 19:55:57};
-blog2viewerでは見出しに大きく日付が入るのでトップページが重たくなるなぁ…と思っていたところ、このプラグインを見つけて早速導入してみたのですが、エラーも何も表示されない、という怪奇現象に遭遇しました。
PHPの知識がほとんど無いので何が問題なのかさっぱりなのですが&worried;
プラグインフォルダにbloginclude.inc.phpを投入し、#bloginclude(日記,5)と本文で表記すればいいのですよね…? --  &new{2005-04-28 (木) 16:33:07};
--何も表示されないのは、断層の指定がまちがっているからだと思います。自分の環境に合わせて、bloginclude.inc.phpの階層指定のところを書き換える(私の場合、日記/200X-XX-XX/ほげほげという感じでページが作成される=3断層なので、「define('PLUGIN_BLOGINCLUDE_DEPTH', 4);」の前に//を書き、「// define('PLUGIN_BLOGINCLUDE_DEPTH', 3);」の//を消して、3断層の設定を有効にしています。//の書き加えや削除をしないで、4の数字を3に書き換えるだけでもOKです)か、#bloginclude(日記,5,,3)のように書くかすればよいはずです。 --  &new{2005-04-28 (木) 16:55:18};
--上に付け加えで、カテゴリーの一覧ページを日記/Category/カテゴリー名としていると、#bloginclude(日記,5)だと一覧ページまで読み込まれてしまいます。記事ページと一覧ページが同じ断層にあるからなんですね。つまり記事ページと一覧ページは違う断層におかなくてはいけないので注意が必要です。(同じ断層にしているの、私だけかもしれませんが…) --  &new{2005-04-28 (木) 17:10:55};
--コメントが見づらくなってきたので、勝手に編集しました。ごめんなさい。もしこれでよければ、このコメントを消してください。だめであれば、バックアップファイルから復活させてください。 --  &new{2005-04-28 (木) 17:46:04};
---何か投稿者名&日付がコメントの前になってたり、リストがおかしくなってたのを直させてもらいました。&br;一覧ページまで読み込んでしまう件ですが、#bloginclude(日記/20,5)のようにすれば、「20」という文字列は一覧ページのページ名に含まれないので、一覧ページは除外されると思われます。((実はページパターンは「/」を区切り文字にして複数指定できます。)) -- [[sagen]] &new{2005-04-28 (木) 23:33:36};
--既に上の方が答えてらっしゃいますが、私も多分階層指定がずれているからだと思います。>質問者の方&br;……よく考えたら、引数指定が間違っていた時のエラーメッセージ処理がおかしいですね。&worried; 次の更新の時に修正しておきます。 -- [[sagen]] &new{2005-04-28 (木) 23:34:51};
--ご指摘のとおり、階層の指定をする必要があったようです。blog2プラグインを作者さんのテンプレそのままに使用しているので、3階層になっているようです。引数についての記述を良く読めば分かったことですね&worried; #bloginclude(日記/20,3,2-6,3)等とすることで思い通りの表示になりました。どうもありがとうございました⌣ --  &new{2005-04-29 (金) 22:12:37};
-全文表示のとき「Continue Reading...」を出力させない件、対応ありがとうございます。#blog2viewer(日記,○,m-)での動作を確認しました。#blog2viewer(日記,○)では出力されてしまいますが。添付画像対応の件もありがとうございます。ただ、これのための処理を復活させたことにより、「前へ」「次へ」「目次」も正常に読み込まれてしまうようになりました。#bloginclude(日記,,2-)の指定、目からうろこで「これはいい!」と思ったのですが、よく考えれば1行目にも最後の行にもナビがあるので、その指定では最後の行のナビが表示されてしまいます。このプラグインの目的にあった使い方#bloginclude(日記,,2-○)でなら問題ないだけに申し訳ないですが、報告させていただきます。 --  &new{2005-04-29 (金) 20:32:17};
-バージョンアップしました。&ref(bloginclude.inc.php.8); 主な変更点は以下の通りです。
--''PLUGIN_BLOGINCLUDE_DEPTH''のデフォルトを''3''に変更。((今まで何故か、''[[blog2>自作プラグイン/blog2.inc.php]]''のデフォルト設定で記事を投稿すると、''記事ページの階層''は''4''になると勘違いしていました。&worried;))
--エラーメッセージ出力処理を修正。
--''除外ページパターン''・''$non_list によるページ排除の使用''・''コメント行・#comment・#blog2navi() の除去'' などを設定可能に。 -- [[sagen]] &new{2005-05-01 (日) 23:15:35};
-ページ階層の件、デフォルト値を変更して頂いてありがとう御座います。おかげで使いやすくなりました⌣ トップページに日記の序文数行を表示させるように使わせて頂いているのですが、そのとき、下のほうにカテゴリが見えたらいいのに、という要望を閲覧者の方から頂きました。((私の書く日記の内容がカテゴリによって全く違う内容なので、一つのカテゴリだけ見たい人が違うのを読んで混乱してしまうそうなのです&worried;))日付の横にでも、カテゴリを表示できるように手を加えるにはどうしたらいいでしょうか? 知恵をお貸しください。 --  &new{2005-05-22 (日) 22:40:30};
-このプラグインでカテゴリごとに記事の一括表示はできないのでしょうか?#bloginclude(日記/Category/カテゴリ名)としても記事タイトルの一覧が出てきてしまいます。 --  &new{2005-05-26 (木) 15:56:49};
//

//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.035 sec.

OSDN