文字列を1文字ずつ出力するプラグイン(その1)

Blogのステータスとして、エントリー数などを表示するようにしている方をよく見かけます。
そういった数値を、画像で表示することができれば、見た目がより良いのではないかと思います。

そこで、文字列を1文字ずつ出力するプラグインを作ってみました。
タグの値等を1文字ずつ出力し、その前後に他の文字列を付加することができます。
例えば、「123」という値を、「<img src="1.gif"><img src="2.gif"><img src="3.gif">」のように出力することができます。

1.プラグインのダウンロードとインストール

このプラグインは、以下のページからダウンロードすることができます。

SplitString.pl

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。

ダウンロードしたファイルに、「SplitString.pl」というファイル名をつけて保存します。
そして、そのファイルをMovable Typeの「plugins」ディレクトリにアップロードします。

2.表示したい値を変数に代入する

まず、MTSetVarBlockタグを使って、表示したい値を変数に代入します。
例えば、Blogのエントリー数を、「000123」のように6桁の数値にして出力したい場合だと、テンプレートの中に以下のようなタグを入れます。

<MTSetVarBlock name="entry_count"><$MTBlogEntryCount sprintf="%06d"$></MTSetVarBlock>

3.変数の値を1文字ずつ出力する

次に、変数の値を1文字ずつ出力します。

このプラグインをインストールすると、「MTSplitString」というコンテナタグが追加されます。
このタグは、変数の値を1文字ずつ出力するものです。書き方は以下のようになります。「変数名」の部分には、MTSetVarBlockタグで指定した変数名を入れます。

<MTSplitString name="変数名">
変数の値を1文字ずつ出力する処理
</MTSplitString>

また、MTSplitStringタグのコンテナタグの中では、「MTSplitStringChar」というタグを使うことができます。
このタグは、順に出力される1文字を表するものです。

4.例

例として、Blogのエントリー数を「000123」のような6桁の数値にし、それを画像で出力する方法を取り上げます。

Blogの出力先ディレクトリの中に、「counter」というディレクトリを作り、そこに数字の画像をアップロードしたものとします。
また、それぞれの数字の画像は、「0.gif」「1.gif」のように、「数字.gif」のファイル名になっているものとします。
この場合、以下のようにタグを組み合わせることで、エントリー数を画像で出力することができます。

<MTSetVarBlock name="entry_count"><$MTBlogEntryCount sprintf="%06d"$></MTSetVarBlock>
<MTSplitString name="entry_count"><img src="<$MTBlogURL$>counter/<$MTSplitStringChar$>.gif" alt="<$MTSplitStringChar$>" /></MTSplitString>

MT Cloud Starter Kit
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください