| @技術/プログラミング

 あまりにも AutoPagerize が便利なので、自分のブログでもAutoPagerizeできるようにしてみた。

 AutoPagerizeに対応させる方法は二つあって、一つはuser.jsに直接SITEINFOを書き込んで対応させる方法。もう一つはAutoPagerizeのMicroformatsをサイト自体に埋め込んで対応させる方法。Web Serviceなど、自分が中身をいじれないサイトはSITEINFOを書いて対応させるしかないけど、自分のブログだったらXHTMLにMicroformatsをちょこちょこっと書き加えることで、閲覧者全員にAutoPagerizeしてもらえるようになる。/index.php/search.php でAutoPagerizeするようにMicroformatsを埋め込んでみた。AutoPagerizeのMicrofarmatsは配布元に記述があるので参照されたし。

 いじるのは /include/fnc_base.inc.php 。 586行目付近の

. '&f='  . $topic_id . '">';

の末尾の部分を削って

. '&f=' . $topic_id;

とし、594行目と604行目をそれぞれ以下のように書き換える。

$flip_link .= '<span class="prev">'.$page_array[$array_key-1]["tag"].'" rel="prev">'.
$flip_link .= '<span class="next">'.$page_array[$array_key+1]["tag"].'" rel="next">'.

 さらに、670行目の <a> タグ内に rel="next" を埋め込んで以下のようにする。

'<a href="./search.php?k=&p='.$cfg['pagemax'].'&c=0&pn=2&d=all" rel="next">'.

 これで fnc_base.inc.php のモディファイは終了。最後に /include/user_include/base_xhtml.inc.php#content 部分を以下のように書き換えれば完了。

<-- Begin #content -->
<div id="content">
{$contents_top}
<div class="autopagerize_page_element">
{$contents}
</div>
<div class="autopagerize_insert_before"></div>
</div>
<!-- End #content -->

 ちなみに、FirefoxじゃなくてSafariでAutoPagerizeしたい人は、 GreaseKit を入れて oAutoPagerize をインストールすると幸せになれます。

加筆修正

 このハックを適用すると、サイト検索をしたときなどに表示されるFlip Linkの表示がおかしくなっていました。587行目の
$tag_array["anchor"] = $pagenumber. '</a>';

$tag_array["anchor"] = '>' .$pagenumber. '</a>';

と書き換えて下さい。