「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
条件を満たす間繰り返しを行うプラグイン
Movable Typeには「条件を満たす間、繰り返しを行う」というテンプレートタグがありません(PerlやPHP等のwhile文に相当する処理がありません)。
そこで、このような処理を行うテンプレートタグを、プラグインで追加できるようにしてみました。
2011年10月3日 15時30分
一か所不具合を見つけたので修正しました。
1.プラグインのインストール
プラグインは以下からダウンロードすることができます。
ダウンロードしたファイルを解凍すると、「plugins」というフォルダができます。
このフォルダを、Movable Typeのインストール先ディレクトリにアップロードします。
なお、このプラグインは、Movable Type 4以降なら動作するはずです。
こちらでは、Movable Type 5.12で動作を確認しました。
2.追加されるテンプレートタグ
このプラグインをインストールすると、以下の4つのテンプレートタグ(ブロックタグ)が追加されます。
テンプレートタグ | 内容 |
---|---|
MTWhile | 条件を満たす間繰り返しを行う(繰り返しの最初に条件を判断) |
MTUntil | 条件が満たされるまで繰り返しを行う(繰り返しの最初に条件を判断) |
MTDoWhile | 条件を満たす間繰り返しを行う(繰り返しの最後に条件を判断) |
MTDoUntil | 条件が満たされるまで繰り返しを行う(繰り返しの最後に条件を判断) |
条件の書き方は、MTIfタグと同じです。
例えば、「変数ctrの値が5以下の間繰り返す」という場合だと、以下のように書きます。
<mt:While name="ctr" le="5"> 繰り返す処理 </mt:While>
WhileとUntilは、「条件を満たす間」と「条件が満たされるまで」という点が違います。
Whileの条件を逆にすると、Untilと同じ動作になります。
また、Doがつかないタグとつくタグとでは、条件を判断するタイミングが異なります。
Doがつかないタグでは、繰り返しの先頭で条件を判断します。
一方、Doがつくタグでは、繰り返しの最後で条件を判断します。
Doがつかないタグだと、最初の時点で条件を満たしていれば、繰り返しを1回も行わないこともあり得ます。
一方、Doがつくタグでは、最低1回は繰り返しが行われます。
3.繰り返しの中で使える変数
MTWhileタグ等の繰り返しの中では、以下の変数を使うことができます。
なお、変数名の前後の「__」はアンダースコア2つです。
変数名 | 内容 |
---|---|
__counter__ | 繰り返し回数 |
__odd__ | 奇数回目の繰り返しなら1、そうでなければ値なし |
__even__ | 偶数回目の繰り返しなら1、そうでなければ値なし |
4.利用可能なモディファイア
MTWhile等のタグでは、以下のモディファイアを指定することができます。
モディファイア名 | 内容 |
---|---|
glue | 繰り返し各回の出力の間に出力する文字列 |
limit | 繰り返し回数の上限 このモディファイアを指定しない場合、デフォルトでは上限は1000回になります |