Web画面で場合によって一部コントロールを隠したいことってありますよね!?
ASP.NETであればコントロールをサーバサイドでプロパティを変更することで簡単にできますし、ASP,JSP,Peal,PHPでも出力しなければ済みます。
けれどPHP+Smartyの場合、テンプレートとなるHTMLにすでにコントロールが存在し、それを消す方法がないんですね。
まあスタイルシートを利用すれば表示させずに済む方法もあります。
ただ携帯の場合、そもそもスタイルシートが使えないのでこの問題結構厳しいなぁ~とさっきまで思っててそういった制御をしなくてもよい設計をしてたわけです。
けれど、どうしても避けて通れない状態になってあれこれ考えました。
あっさりと解決。
1、テンプレートHTMLの隠したい範囲の最初と最後に変数を配置します。
{$hogeStart}
<span>ほげ</span>
{$hogeEnd}
2、隠したい場合に、設定した変数に以下のような値を設定します。
~->assign("hogeStart", "<!--");
~->assign("hogeEnd", "-->");
はい!コメントで隠してしまえ!です。
いいんです。これで。
投稿日時 : 2006年12月15日 1:45