ページ 11

[スニペット] StartIf & EndIf - 入力有無等で表示を切り替える

Posted: 2009年9月02日(水) 13:15
by kazuike
入力値の有無等により表示を制御(ON/OFF)するためのスニペットです。
例えば、要約が入力されていたら、「要約」という見出しとともに要約を表示するなど、ちょっとした表示制御なんかに手軽に使えます。

例)

コード: 全て選択

[!StartIf? &var=`introtext`!]
<h2>要約</h2>
[*introtext*]
[!EndIf &var=`introtext`!]
▼概要&ダウンロード
http://www.hikidas.com/hikidas/modx_res ... _EndIf.php


PHxプラグインでも同じことが(というか、より高度はことも)できますが、
条件の指定が少し複雑になりますし、
PHxプラグインは単体でインストールするとDittoのページングが使えなくなる等の副作用があったりしますので、
値があるかどうかぐらいの、ちょっとした表示制御にはStartIf&EndIfは重宝すると思います。

よろしくお願いします。

Posted: 2010年3月12日(金) 00:28
by mojira
初めまして。
StartIfの件でご質問させて頂きます。
入力タイプがラジオボタンの「フルーツ」と名付けたテンプレート変数に
入力オプションで「バナナ||りんご」と設定しています。

やりたい事は、お問い合わせフォームなどのプルダウンメニューにて、「バナナ」を選択したリソースがあれば、
フォームのプルダウンメニュー内に選択したフルーツだけを反映させたいと考えております。

フォーム内にStartIfを、以下のような使い方で設置致しました。
ただバナナなどを選択したリソースがあるのですが、バナナのselectオプションだけ
表示するようなイメージでしたが、全てコメントアウト文で囲まれてしまい、思うような
結果になりませんでした。

コード: 全て選択

<select>

[!StartIf? &var=`フルーツ` &value=`バナナ` &hoge=`A` &off_st=`<!-- ` &off_ed=` -->`!]
<option value="フルーツのバナナ">フルーツのバナナ</option>
[!EndIf? &var=`フルーツ` &hoge=`A`!]

[!StartIf? &var=`フルーツ` &value=`りんご` &hoge=`B` &off_st=`<!-- ` &off_ed=` -->`!]
<option value="フルーツのりんご">フルーツのりんご</option>
[!EndIf? &var=`フルーツ` &hoge=`B`!]

</select>


何か間違った使い方をしているのかも知れませんが、自分で調べた範囲では、検討
がつかず、質問をさせて頂きました。

何卒、よろしくお願いします。

[サーバ]
 Sixcore 共用
 Webサーバ:(例 Apache9.9.9、IISなど)
 PHPバージョン:PHP5.1.6
 DB:MySQL 5.0.x
[modx]
 バージョン:1.0.2J