新管理画面で強化された機能の筆頭に上げられるのは何と言っても 表示モード毎に記事の表示順や(頁あたり)表示件数を設定できるようになった事でしょう。 トップページでは最新記事3件、検索結果表示頁では20件ずつ、月別表示時はその月の全記事を時系列準で読む、などということが可能となった訳で、 当店の現在のテンプレートである Odin をはじめ、記事表示順逆転プラグイン Reverse 等、私の作品の幾つかの意義が若干失われたといっても過言でありません。
その中でもプラグイン Page Selecter は全モードでの頁あたり記事表示件数が等しい事を前提としていましたからこのままでは新しいシステムで正常に使用する事ができません。 対応(改訂)が必要です。 新管理画面対応の一環として取り組んでみました。
で 例によりましてプラグイン改訂前にソースを公開。 御指摘等ありましたら是非。 SAMPLE
<script type="text/javascript"><!--
function PSP() {
var n=5; //通常の記事件数
<!--date_area-->
n=30; //月別表示時の件数
<!--/date_area--><!--category_area-->
n=20; //カテゴリ表示時の件数
<!--/category_area--><!--search_area-->
n=30; //検索結果表示時の件数
<!--/search_area--><!--tag_area-->
n=30; //タグ検索時の件数
<!--/tag_area-->
var bgcol="#ffff00"; // 現在頁番号を表す背景色
var S=""+self.frames.location;
var Total=0<!--category-->+<%category_count><!--/category-->;
var op="";
<!--search_area-->
op='q='+S.split('?q=')[1].split('&')[0]+'&';
<!--/search_area--><!--tag_area-->
op='tag='+S.split('?q=')[1].split('&')[0]+'&';
<!--/tag_area--><!--category_area--><!--category-->
if (<%cno>==<%category_no>){Total=<%category_count>}<!--/category-->
op='cat='+<%cno>+'&';
<!--/category_area--><!--date_area--><!--archive-->
if ('<%sub_title>'==' <%archive_year><%archive_month>'){Total=<%archive_count>}<!--/archive-->
op='date='+'<%now_year><%now_month>'+'&';
<!--/date_area-->
var page=0<!--permanent_area-->-1<!--/permanent_area-->;
<!--edit_area-->page--;<!--/edit_area--><!--titlelist_area-->page--;<!--/titlelist_area-->
if (S.indexOf('page-')>0) {page=(S.split('page-')[1]).split('.')[0]} else {
if (S.indexOf('page=')>0) {page=(S.split('page=')[1]).split('&')[0]} else {
if (S.indexOf('/category')>0) {page=(S.split('/category')[1]).split('-')[1].split('.')[0]}
} }
if(Total>0) {
var P=Math.floor((Total-1)/n);
if("<%total_pages>"!="<"+"%total_pages>" && page!=-1){P=eval("<%total_pages>")-1}
document.writeln('<div style="width:99%;height:45px;overflow:auto;">');
document.writeln('<table id="Psl"><tr align="center">');
for (i=0;i<=P;i++){
var BG="";if(i==page) {BG=' bgcolor="'+bgcol+'"'}
document.write('<td'+BG+'><a href="./?'+op+'page='+i+'">'+i+'</a></td>');
}
document.writeln('<td> </td></tr></table></div>');
} }
PSP();
//--></script>
<noscript>Script is OFF</noscript>
【 解 説 】 プラグインのHTML部に上記スクリプトを書きます。 ソース中のコメントにもあるように各モードでの記事表示件数を(管理画面での設定と同値に)設定します。 プラグインとしての表示位置は何処でも構いませんが、用途の性質を考えると比較的頁上部に置く方がベターでしょう。
このプラグインはページング表示されるモードではそのモードの全ページを、edit や permanent 等のモードでは通常モードの全ページを選択可能な形で表示します。 また”今見ている頁(の番号)”をハイライト表示します(≒ Page Selector Pro 相当)
それにしても、ページ関連変数がサポートされたとかどこかで読んだ記憶があるんですが・・・(だったらこんなスクリプト要らん、てことになるかも) 観たことありません。 (どなたか御存知の方いらっしゃいませんか?)
|
★
阿檀
阿檀
Edit 09/30 16:48 |
うろおぼえなのですが。 新管理ページ選択ブログ専用の変数が(一時的に)公開されたのだけれど、旧管理併用状態だと混乱の元なので、とりあえず再度非公開にされたとかどこかで読んだ記憶があるんですが。
|
|
★
daniel
daniel
Edit 09/30 17:25 |
もしそういう独自ブロックや変数があったらそれを使えば良いわけですからね。
|
|
★
Chako
Chako
Edit 09/30 18:41 |
総頁数かな? 呼ばれて飛び出て………ヘ(^^ヘ)))。。。
|
|
★
daniel
daniel
Edit 09/30 19:25 |
Chakoさん貴重な情報感謝です。
|
|
★
Chako
Chako
Edit 09/30 21:09 |
いえいえ… モード毎の頁数を出すってこと、私も今日試しに使ってみて気付きました。
|
|
★
daniel
daniel
Edit 09/30 22:26 |
%total_pages 早速スクリプトに取り込んでみましたよ。 (結構便利です)
|
|
★
take
take
Edit 10/03 19:23 |
こんにちは。
|
|
★
daniel
daniel
Edit 12/04 00:26 |
kocha さん江
|
|
★
kocha
kocha
Edit 12/08 18:39 |
すすすいません!お早い対応ありがとうございました!
|
|
★
daniel
daniel
Edit 12/09 09:49 |
実際に試してませんので何かありましたら またどうぞ |
| . |