blue

半月ごとのアーカイブを生成するためのMovable Type用プラグイン

  • Posted by: SOMA Hitoshi
  • December 15, 2008 10:04 PM
  • mt

 半月ごとのアーカイブを生成させるMT4専用プラグインを作ったので配布してみます。当サイトの「Yellow」というコンテンツのために作り、現状ではまったくのところ、〈わたしにとっての必要充分〉を満たしているのみの動作を提供します。じゃあ配布するなよというほどの出来ですが、あるいはどこかの誰かに何かをもたらさないともかぎりません。

 Hirotaka Ogawaさんが公開されている「年度別アーカイブを生成するためのMT4専用プラグイン」をもとにしています。ありがとうございます。

似たような拡張を必要とされている方は、このプラグインのソースコードがきっと役に立つでしょう。
FiscalYearlyArchives Plugin 0.01公開 - Ogawa::Memoranda

とあるとおりで、見よう見まね、「じゃあ、ここをこうしたらこうなってくれるのか」と想像するままにコードを書き換え、書き足してみた結果、なんと動くから驚きです。へえー、ってなもんです。
 動作確認はわたし自身の環境(MT4.23)でのみ行っていて、また、ダイナミックパブリッシングには対応していません。

概要

 1日〜15日を上旬、16日〜31日を下旬として、半月ごとのアーカイブを生成するためのプラグインです。MT4専用。
 テンプレートタグとしては<$MTArchiveHalfMonthLabel$>という変数タグがひとつだけ追加されます。

ダウンロード

HalfMonthlyArchives-0.01.zip

使い方

 パッケージに含まれるHalfMonthlyArchivesディレクトリをMovable Typeのプラグインディレクトリ内にアップロードすればインストール完了です。正しくインストールできていれば、Movable Typeのシステムメニュー > プラグインにリストアップされ、アーカイブマッピングの種類に「半月ごとに」という選択肢が追加されます。

 新しいアーカイブマッピングを作成するさいに「半月ごとに」を選び、テンプレートにはこれまで「月別アーカイブ」に用いていたものをあてはめれば、基本的にはOKなはずです。1月上旬、1月下旬、2月上旬……というふうに区切られたアーカイブが生成されます。
 テンプレートにて、MTArchiveListコンテナのarchive_typeオプションを指定する場合には「HalfMonthly」とします。

<$MTArchiveHalfMonthLabel$> について

 このタグは、そのアーカイブが上旬であるか下旬であるかにより、それぞれを示す文字列を返します。デフォルト値は上旬が「a」、下旬が「b」です。
 ひとつにはアーカイブマッピングのさいのパス指定に用いられます。デフォルトのパス指定は、

%y/%m/<$MTArchiveHalfMonthLabel$>/%i

となっていて、この場合たとえば、

http://<hostname>/<blog directory>/2008/12/a/index.html (2008年12月上旬)
http://<hostname>/<blog directory>/2008/12/b/index.html (2008年12月下旬)

といったふうにファイルが生成されます。
 この、上旬・下旬それぞれの場合の文字列は、プラグイン設定にて変更できます。

TIPS というか

 なお、上記の<$MTArchiveHalfMonthLabel$>は、日付コンテクストの外部では使用できません。
 そのページが上旬か下旬かに応じて別の画像を表示したいというような場合、半月ごとのアーカイブページではこの<$MTArchiveHalfMonthLabel$>を利用することもできますが、個別アーカイブ等では利用できません。その場合は、<MTIf>の条件分岐を使い、

<MTSetVarBlock name="mtdate"><$MTEntryDate format="%e"$></MTSetVarBlock>
<img src="<$MTBlogURL$>images/<MTIf name="mtdate" ge="16">b<MTElse>a</MTIf>.jpg" />

といったふうにすればいいかと思います。

関連記事

トラックバック(0)

トラックバックURL: https://web-conte.com/blue/mt-tb.cgi/427

 

広告