PHxでelseifみたいな使い方をしたいとき

  • 2011.04.21 Thursday
  • 14:58
 PHxはMODxのテンプレート変数などの値によって、条件分岐や表示非表示を切り替えることのできるプラグインです。
便利なんだけどプログラム系でないわたしは、まず書き方を理解するのが大変でした^^;

■書き方の例
・テンプレート変数hogeの値が1のときは画像1を表示し、それ以外のときは画像2を表示する。
[*hoge:is=`1`:then=`<img src="assets/images/1.png" alt="1の画像" >`:else=`<img src="assets/images/2.png" alt="2の画像" />`*]


・テンプレート変数hogeの値が1のときは画像1を表示し、それ以外のときは何も表示しない。
[*hoge:is=`1`:then=`<img src="assets/images/1.png" alt="1の画像" />`:else=``*]

こんな感じでチャンクやテンプレートに書きます。
dittoのテンプレートに使う場合は[+hoge でプレースフォルダにします。

詳しくはMEGUさんのとこの解説などをご覧ください。


さて、ここで以下のような振る舞いをさせたいときどうするか?
テンプレート変数hogeの値が1のときは画像1を表示し、値3のときは画像3を表示し、それ以外のときは何も表示しない。

実はPHxにはelseifに相当する文法がない!
参考:MODx : phx の使い方


これでしばらく悩みましたが、あっけなく解決。値1のときの振る舞いと値3のときの振る舞いを別々に書けばいいのです。

[*hoge:is=`1`:then=`<img src="assets/images/1.png" alt="1の画像" />`:else=``*]
[*hoge:is=`3`:then=`<img src="assets/images/3.png" alt="3の画像" />`:else=``*]

どちらも値がちがう場合は何も表示しないので、実際に表示されるのは片方のhogeの値のみです。

コメント
コメントする








    
この記事のトラックバックURL
トラックバック

calendar

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   
<< May 2017 >>

たいやき

selected entries

categories

archives

recommend

recommend

recommend

終わり続ける世界のなかで
終わり続ける世界のなかで (JUGEMレビュー »)
粕谷 知世
2011年度SOG賞 シスターフッド賞

recommend

魔法少女まどか☆マギカ 1 【通常版】 [DVD]
魔法少女まどか☆マギカ 1 【通常版】 [DVD] (JUGEMレビュー »)

(全6巻)2011年度SOG賞 シスターフッド賞

recommend

recommend

音楽の在りて
音楽の在りて (JUGEMレビュー »)
萩尾 望都
2011年度SOG賞 候補作

recommend

私のミトンさん
私のミトンさん (JUGEMレビュー »)
東 直子
2011年度SOG賞 候補作

recommend

recommend

recommend

recommend

recommend

玉工乙女
玉工乙女 (JUGEMレビュー »)
勝山海百合
2010年度SOG賞 候補作

recommend

recommend

MODxでつくる!最強のCMSサイト
MODxでつくる!最強のCMSサイト (JUGEMレビュー »)
MODxフォーラムJapanese Co
初心者はとりあえず買っとけ。

links

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM