さて,解説です。AutoPagerizeに対応させるには,次の3つの要素が必要です。
- link要素またはa要素でrel="next" (複数あった場合は、先に現れるものが選ばれます)
- classでautopagerize_insert_before (複数あった場合は、先に現れるものが選ばれます)
- classでautopagerize_page_element (複数指定可、指定したもの全てが挿入されます)
classの名前で分かるとは思いますが,autopagerize_insert_beforeで指定した箇所より前の部分が先読み表示の対象となり,autopagerize_page_elementで指定したブロック間(複数指定可)を先読みすることになります。
で,今回手を入れるファイルは次の通りです。
- utils.php
- template/basic/template.php
- (場合により)modules/comment.inc.php
まず読み込み先のリンクを知らせる rel="next" から。ppBlogでは,個別エントリ表示の場合は前後のエントリへのリンク,ボックス表示やリスト表示などの場合は5件とか30件ごとのリンクとなってますので設定箇所が2つあります。まずは個別エントリ表示用のリンクの修正。utils.phpの289行目付近(function article_nav($id, $keep=FALSE, $ajax=FALSE)のブロック),
$prev_entry = '<a title="前の記事:'.date('Y-m-d', substr($uid, 0, 10)).'" href="'.$_self.'?UID='.$uid.'"'.$click.'>« '.$entry.'</a>';
を
$prev_entry = '<a title="前の記事:'.date('Y-m-d', substr($uid, 0, 10)).'" href="'.$_self.'?UID='.$uid.'"'.$click.' rel="next">« '.$entry.'</a>';
とします。次に個別エントリ以外の前後リンクの修正ですが,utils.phpの677行目付近(function page_info($LINES='', $length=ENTRY_BOX)の部分),
$header .= ((empty($_GET)||$offset==0)?'':' | ').'<a href="index.php?'.($query==''?'':$query.'&').'offset='.($offset+$length).'&display='.$displayMode.'">次の '.$upto.' 件 &raquo;</a></p>'.NL;
を
$header .= ((empty($_GET)||$offset==0)?'':' | ').'<a href="index.php?'.($query==''?'':$query.'&').'offset='.($offset+$length).'&display='.$displayMode.'" rel="next">次の '.$upto.' 件 &raquo;</a></p>'.NL;
に。これでリンクの設定は完了です。次は先読みさせる部分の指定です。






この記事に対するコメント・トラックバック [4件]
ソースコードの部分を少し修正して,そのままコピペすれば使用できるようにしました。ご指摘ありがとうございます。
3. ぷらむ — 2007/09/02@07:55:13