2009-09-26 14:09

MT ページ送りプラグイン「pagedarchives」のカスタマイズ

お久しぶりのウェブネタ。
MTのページ分割ってまだ、デフォルト搭載されてないんでしょうかね...?MT5を触ってないのでそこらへんちょっと分からないのですが。

MT4でメジャーなページ分割プラグイン「pagedarchives」ですが、吐き出されるページリストがいまいちなんですよね。
ただリンクのついた数字がならんでいるだけという。

テンプレで区切り文字とかいれちゃおうかと思うわけですが、タグが<MTPAPageList>で、全て完結されてしまっているために手出しできないという状態なんですね。
それでも、<a>とか<b>とかをcssで表示を整えてあげればなんとかなっちゃたりするかもなんですが、もっとカスタマイズしたいという場合には、プラグイン本体pagedarchives.plをちょっと弄っちゃうのが早いと思います。

090926-1.gif

こんな感じで、ボックス表示をしようということで、マークアップは<li>でやろうという魂胆です。

pagedarchives.plの210行目あたりに

    $pagelist.="$spacer<a href=\"$filename\">$ii</a>" if($ii != $pagenum);
    $pagelist.="$spacer<b>$ii</b>" if($ii == $pagenum);

 という表記があるんですけども、ここがページにどう表示するかっていう指示部分なので、ここをちょこっと変更します。
上の$pagelistは、分割したページへのリンク部分、下の$pagelistは現在のページの時の表示です。

そういうわけで、

    $pagelist.="<li>$spacer<a href=\"$filename\">$ii</a></li>" if($ii != $pagenum);
    $pagelist.="<li>$spacer<b>$ii</b></li>" if($ii == $pagenum);

 こんな感じで<li>タグを入れました。
<li>でなくても、<span>だったりとかでもよいと思います。むしろ最後に「|」とか区切り文字いれるだけでも、結構見栄えは変わると思います。
現在のページだけ、クラス指定するのもありですね。

MTのテンプレートの方はこんな感じにしました。

<div>
<MTPAIfMultiplePages>
<ul>
<li><MTPAPreviousPage text="&lt;&nbsp;NEW" show="1"></li>
<$MTPAPageList$>
<li><MTPANextPage text="OLD&nbsp;&gt;" show="1"></li>
</ul>
</MTPAIfMultiplePages>
</div>

プラグインのタグの説明はPaged Archives Plugin: Tagsを参考に。

CSSの方は、ブロック表示でもセンタリングで!ということで
不特定の数の横に並ぶブロック要素をセンタリングさせる | CSS-EBLOG
を参考にさせてもらいました。スバラシイ...。

背景に画像とか使うとより美しいナビゲーションになるかと思います。
わたしも、そのうち(っていつだ)整えてきたいと思います。

Category: 

Tag: 

Twitter:hmscope
取り合えず、明日を生きよう。おやすみなさいな。 (10/03/11 00:35)
いかん…あまり会社ネタいくない。 (10/03/11 00:15)
くやしいのう…ぐぐぐぐぐ。でも速報コンテンツとしてはウチ会社の方がいけてるはず!!注目度は…負けてるかもしれないけど…さぁ…いやいやいやいや…んなこたーない! (10/03/11 00:15)
うちの会社もやるやらないは別として、アカだけ取っておいた方がいいかなぁ… (10/03/11 00:01)
さっそくWHOISコマンドで登録日をチェックしてみるなど。。 (10/03/10 23:59)