数え上げや連番生成ができる! - AutoIncrementalVar
Category : MTplugin
こんな経験はありませんか?
- (エントリーなどの)一覧に連番を振りたいけれど、<ol>タグは使えない(使いたくない)
- ある特殊な条件を満たすもの(例えばエントリー)をカウントしたいけれど、<$MT○○○Count$>タグではうまくできない
こういった問題を解決できるもの。
それが、AutoIncrementalVar プラグインです。
標準のMTタグ <$SetVar$>、<$GetVar$> と同じ感覚で、連番生成や数え上げができるようになります。
動作環境
Movable Type(以下、MTと略記)ver.3.x、ver.4 以降。
※【2007/08/18 ver.0.6 公開、MT4.0に正式対応しました。】
ダウンロード
(どちらかを選択してください。内容は同じです。)
AutoIncrementalVar プラグイン本体
- AutoIncrementalVar.zip[5.72 KB]
- AutoIncrementalVar.tar.gz[2.14 KB]
AutoIncrementalVar プラグイン MT3ダイナミックパブリッシング対応差分
- AutoIncrementalVar_php_MT3.zip[3.45 KB]
- AutoIncrementalVar_php_MT3.tar.gz[1002 Bytes]
インストール
※今回のバージョンアップによる機能の追加はありません。
MT3.xで、すでに旧バージョン(ver.0.5)をお使いの方は、バージョンアップは必要ありません。
MT3, MT4 共通
- プラグイン本体のアーカイブをダウンロードしてください。
- ダウンロードしたファイルを解凍してください。
解凍ソフトに「ディレクトリ構造を**」というオプションがある場合は、「ディレクトリ構造を有効(再現、等)」にして解凍すると、以下のようなディレクトリ構造が生成されます:
┗[AutoIncrementalVar] ┣AutoIncrementalVar.pl ┗[php] ┗(6個のPHPファイル)
- AutoIncrementalVar フォルダごと [MT]/plugins/ フォルダにコピー(アップロード)してください。
MT3.x でダイナミックパブリッシングをご使用の場合
以降の操作は、MT4では不要です。
- MT3ダイナミックパブリッシング対応差分のアーカイブをダウンロードしてください。
- ダウンロードしたファイルを解凍してください。
解凍すると、6つの.phpファイルが生成されます。 - 解凍して得られたファイルをすべて [MT]/php/plugins/ フォルダにコピー(アップロード)してください。
※resource.mtbuildvalue.php ファイルをコピー(アップロード)する際に、「存在します。上書きしますか?」等の確認メッセージが表示される場合があります。構わずに上書きしてください(「はい」を押してください)。
使い方
このプラグインが提供するのは、4つの変数タグです。
- <$MTSetVarAutoIncremental$>
- 自動数え上げ変数設定タグ。
以下の属性が指定できます。- name … [必須]変数名。<$MTSetVar$>の name 属性に相当。
- value … 変数値。<$MTSetVar$>の value 属性に相当。数値以外、もしくは指定無しの場合の初期値は 0。
- step … 増分。指定無しの場合の初期値は 1。
- <$MTGetVarWithIncrement$>
- 自動数え上げ変数値取得タグ。
設定された現在値を取得するとともに、その数に step値 を加算した値を再設定します。
以下の属性が指定できます。- name … [必須]変数名。<$MTGetVar$>の name 属性に相当。
- <$MTGetVarWithoutIncrement$>
- 自動数え上げ変数値取得タグ。
設定された現在値を取得します。内部加算はしません。
以下の属性が指定できます。- name … [必須]変数名。<$MTGetVar$>の name 属性に相当。
- <$MTIncrementVar$>
- 自動数え上げ変数値計算タグ。
この変数タグは何も表示しません。内部的に設定された現在値に step値 を加算した値を再設定します。
以下の属性が指定できます。- name … [必須]変数名。<$MTGetVar$>の name 属性に相当。
使用例
1.エントリー一覧に連番を振る
以下は、エントリーを列挙する際にタイトルの前に連番を振っている例です。
使用するのは、<$MTSetVarAutoIncremental$>と<$MTGetVarWithIncrement$>です。
連番は1から開始します。 step は指定していないので、1ずつ増えていきます。
<$MTSetVarAutoIncremental name="entryNo" value="1"$>
<MTEntries category="hoge">
<h3><$MTGetVarWithIncrement name="entryNo">: <$MTEntryTitle$></h3>
<div><$MTEntryExcerpt$></div>
</MTEntries>
↓結果例
1: ヴィンデ
風の精。♀。明るくてちょっとおっちょこちょい。...
2: ボッタ
人間の男の子。♂。恥ずかしがり屋。...
3: フランメ
火の精。♀。お嬢様気取りの怒りん坊。...
2.数え上げ
以下は、既にコメントのついているエントリーの数を数え上げる例です。
使用するのは、<$MTSetVarAutoIncremental$>,<$MTIncrementVar$>,<$MTGetVarWithoutIncrement$>です。また、Compareプラグインも使用します。
<$MTSetVarAutoIncremental name="entryCount" value="0"$>
<MTEntries category="hoge">
<MTIfGreater a="[MTEntryCommentCount]" b="0"><$MTIncrementVar name="entryCount"></MTIfGreater>
</MTEntries>
The Number of Commented Entries: <$MTGetVarWithoutIncrement name="entryCount"$>
↓結果例
The Number of Commented Entries: 2
<$MTSetVar$>、<$MTGetVar$>との互換性
AutoIncrementalVarプラグインの各変数タグは、<$MTSetVar$>/<$MTGetVar$>と互換性があります。
- <$MTSetVarAutoIncremental$>で設定した変数値は<$MTGetVar$>で取得できます。その際の動作は、<$MTGetVarWithoutIncrement$>と同じになります。
- <$MTSetVar$>で設定した変数値は<$MTGetVarWithIncrement$>や<$MTGetVarWithoutIncrement$>で取得できます。その際の動作は、設定値が数値ならばそのまま使われ、数値でなければ 0 に変換されます。step値はデフォルトの初期値 1 になります。<$MTIncrementVar$>も同様です。
似たようなプラグインの紹介
免責事項
Movable Type のユーザーは目的を問わず、このプラグインを無償で自由に利用することができます。著作権は Antimon2 が保持します。
このプラグインは無保証です。このプラグインの利用によるいかなる損害にも作者は一切の責任を負いません。
継続的な開発をご支援くださる方は、よろしければドネーションをお願いいたします。





コメントする