MODXのバージョン:1.0.13J-r1
PHPのバージョン:5.3.28
-----
その昔は、Dittoの出力パターンの中で、
コード: 全て選択
[+flag:is=`1`:then=`[+text_a+]`:else=`[+text_b+]`+]
PHxの中でも、プレースホルダが自由に使えたように思いますが、
最近(と言ってもけっこう経ちますが)は、これが使えたり、使えなかったりします。
参考)http://forum.modx.jp/viewtopic.php?f=7&t=1215
今までは、なんとかサイトの仕様を決める段階で、このようなプレースホルダの切替を使わないように回避できていたのですが、
今現在、どうにもこのような切替を使わないと表現できないという、窮地に追い込まれています。
出力パターンの中で使用するプレースホルダについては、
PHxのカスタムモディファイアの中で「$this->placeholders」が使えるということが分かりましたので、
以下のようなPHxのカスタムモディファイアを作って急場をしのぎました。
コード: 全て選択
if ($this->placeholders['flag']=='1') {
$output = $this->placeholders['text_a'];
} else {
$output = $this->placeholders['text_b'];
}
return $output;
コード: 全て選択
<span style="display:none;">[+text_a+][+text_b+]</span>
無理やりブラウザの画面上には出ないようにしていますが、
HTMLソースから見れる状態になってしまっています。
何かこれに代わる良い方法がありましたら、ご教示いただけませんでしょうか?
ちょっとしたヒントでも構いません。よろしくお願いいたします。