2008年11月02日 (日)

MTメモランダム「EntryCategoryEntries Plugin」

作業工程が溜まると貧相な脳みそが爆発するので、備忘録兼ベンチガイドとして作業記録をメモ書き。

O.Z.K.では、シンプルで使い易く動作も安定している小粋空間さんのMovable Typeテンプレートを使用していますが、偏にramhorn05jのスキル不足から理想型とは程遠いデザインに落ち着いているスキンは、それでもiBlog時代に比べれば、例えば基本的なクロスブラウザが実現していることからも、内部的には随分と進化した様に思えます。MTの運用方針としては、保守性を維持する為にもテンプレートは肥大化させたくないので、プラグインやJavaScriptを多用したフルカスタマイズに走るよりは、基本はHTMLとCSSに手を入れるだけの簡単な工作で、極力シンプルにまとまる様な調整を心掛けていますが、そのお陰で、ソース的には一つの目安であり目標としていたValid XHTML 1.0 Transitional / CSS v2.1バッジを獲得するまでに妥当性が向上しました。

MTは非常に巨大なCMSパッケージなので、素人に毛が生えた程度のアビリティでは整合性の確保に手を焼くこともしばしばで、持て余しがち。まぁ、そこが楽しかったりもするのですが、その為、今はまだMT4にアップグレードする気にはなれないので、当面、O.Z.K.ではMT3を限界までブラッシュアップする方向で試行錯誤を継続して行くつもりです。ということで、今回は再度プラグインを整理し、新たに「EntryCategoryEntries Plugin」と「しましまプラグイン」を導入してみました。


放置状態だったプラグインを整理し、

・管理画面をハックする為に必要となるベースプラグイン「BigPAPI
・投稿画面をHTMLエディタに変更する「BigPAPI」対応プラグイン「Ajaxify
・メインページを分割する「MTPaginate
・インターネットタイム“BEAT”を表示する「InternetTime
・コメントに連番を振る「mt link number

を削除しました。O.Z.K.では、エントリの管理は全て「ecto」で行っている為、副次的に用意していた「Ajaxify」も活用する機会がありませんでした。例えば、将来的に複数の環境下でブログを編纂する必要性が出てくれば、エントリの共有管理を考えた時にMT本体の投稿画面をハックすることにもメリットが出てくるので、その時には改めて「Ajaxify」などの導入を検討してみたいと思っています。


それを踏まえた上で、今回、新たに“現在のエントリのプライマリカテゴリに属するエントリをリストアップ”する「EntryCategoryEntries Plugin」を導入しました。これを利用すると、個別エントリ内で関連記事を自動的に表示することが可能になります。

ニュースサイトなどで、記事ページのぶら下がりによくある関連記事。現在の記事に関連した過去の記事などのリンクを表示して、サイト内での滞在時間を増やそうという施策です。ブログも同様に、エントリに関連記事が表示されていると、単純にサイト訪問者にとっての利便性が向上するだけでなく、SEO的にも有利で、特定のブログ記事を読みに来た訪問者が他の記事も読んでくれる可能性が高くなります。

このプラグインは、現在のエントリーのプライマリカテゴリーをカテゴリーに設定しているエントリーをリストアップする MTEntryCategoryEntriesコンテナタグを追加するものです。このコンテナタグは、エントリーコンテキスト、すなわち MTEntriesコンテナの内部、もしくは個別エントリーアーカイブで利用できます。

http://code.as-is.net/public/wiki/EntryCategoryEntries_Plugin.ja_JP

既に個人ブログでも一般的な機能になりつつある関連記事表示は、MT3系ではデフォルトでタグが用意されていない為、プラグインを利用する必要があります。著名なプラグインとしては、2002年に公開されている「Related Entries Plugin」がありますが、ただ、このプラグインの場合は、同一カテゴリ内のエントリをランダムに表示する仕組みなので、システム上、エントリの「キーワード」欄を利用していないブログでは精度面での期待は出来ないという部分で、O.Z.K.向きではありませんでした。SEO的にはランダム表示の方がより効果的なのかもしれませんが、整合性を重視し、単純に「同一カテゴリ内の最新記事を時系列順に表示したい」という目的に適う運用方法を探るのであれば、「EntryCategoryEntriesプラグイン」以上の選択肢はありません。

O.Z.K.では、「エントリー・アーカイブ」テンプレート内に、以下の要領で記述しました。同一カテゴリ内の最新エントリ7件を、パーマリンクでリストアップする設定です。

<!-- 関連記事 -->
<h3>Related Entries</h3>
<div>
<ul>
<MTEntryCategoryEntries offset="0" lastn="7">
<li><a href="<$MTEntryPermalink valid_html="1"$>"><$MTEntryTitle encode_html="1"$></a></li>
</MTEntryCategoryEntries>
</ul>
</div>
<!-- 関連記事 -->

また、MTのエントリやコメント欄、トラックバック欄などの背景色を交互に変えて“しましま”にするプラグイン「しましまプラグイン」を追加しました。ターゲットを指定することで、属性として背景色やスタイルシートを割り当てることが出来ます。属性の切り替えは奇数番目 / 偶数番目で判定しているので、ブログ主とゲストを見分けている訳ではありません。

■背景

MovableType の編集画面では,記事やコメントなどの一覧が交互に色づけされていて見やすくなっています。公開している記事やコメントやトラックバックなども,そんな風に色づけしてみたくなりました。姉妹品に「しましまコメントプラグイン」がありますが,この「しましまプラグイン」を導入すれば「しましまコメントプラグイン」は不要になります。

http://nlogn.ath.cx/plugins/stripecolor/index.html

本来であれば、ブログ主 / ゲストという具合に、投稿者別で属性を切り替えることが出来ればベストでしたが、何分調査不足なもので、あくまでも「しましまプラグイン」は暫定的な措置として仮置いています。とりあえず、O.Z.K.では以下の要領でコメント欄とトラックバック欄をストライプ仕様にしました。テンプレートで直接背景色を指定してしまうと再構築回りで融通が利かないので、スタイルシートを指定しています。しかし、元々O.Z.K.はゲストの多いブログではないので、見易くお洒落に───が目的のストライプ仕様も単発の色違いに終始しがちで、絵面が中途半端になってしまうのがネックです。

<!-- コメント -->
<MTComments>
<!-- コメントタイトル -->
<MTCommentsHeader><h3>Comment</h3></MTCommentsHeader>
<!-- コメント本文 -->
<div class="background-color: <$MTStripeColor target="comment-content" oddcolor="comment-content-1" evencolor="comment-content-2"$>">
<$MTCommentBody$>
<!-- トラックバック開始 -->
<MTPings>
<!-- トラックバックタイトル -->
<MTPingsHeader><h3>TrackBack</h3></MTPingsHeader>
<!-- トラックバック本文 -->
<div class="background-color: <$MTStripeColor target="trackback-content" oddcolor="trackback-content-1" evencolor="trackback-content-2"$>">
Title:<a rel="nofollow" href="<$MTPingURL$>"><$MTPingTitle$></a>
from:<$MTPingBlogName$>

Content:<$MTPingExcerpt$>
.trackback-content,
.comment-content,
.trackback-content-1,
.comment-content-1 {
     background-color: #efefef;
}
.trackback-content-2,
.comment-content-2 {
     background-color: #ffffff;
}

現在インストール済みのプラグイン

・MTEntriesコンテナにrecently_pinged_onオプションを追加する
Recently pinged on Plugin
・現在のエントリのプライマリカテゴリに属するエントリをリストアップする
EntryCategoryEntries PluginNEW!
・コメント欄、トラックバック欄などの背景色を“しましま”にする
しましまプラグインNEW!

ARCHIVES

  • Browse All Archives [1745] »

RECENT ENTRIES