[PHP-users 27601] Re: QuickForm+Smartyで入力例の表示・非表示を切り替えたい [was:(無題)]

石井 栄徳 ishii @ seedplanning.co.jp
2005年 11月 24日 (木) 19:51:48 JST


石井です。
件名は何かしら付けたほうがいいと思います。

$renderer->toArray()の値をsmartyテンプレート変数{$form}に渡している
のであれば、{$form.frozen}でfreezeしているかどうかのフラグを取得で
きますので、あとはif文でどうにかなると思います。


■form.php

$smarty->assign('form', $renderer->toArray());
$smarty->display('form.tpl');


■form.tpl
{if !$form.frozen}
<p class="formExample">入力例をここに記述</p>
{/if}

いちいち{if}〜{/if}で囲むのがめんどくさいですが、他にうまい手があっ
たら私も知りたいです。


実際にやったことはないですが、freezeしている時だけ有効になるcssで
display:noneを指定させるというのもあるかと思います。多分こんな感じ
じゃないかと。

{if $form.frozen}
<style type="text/css">
{literal}
    .formExample {display: none;}
{/literal}
</style>
{/if}


修正が少ない分こっちの方がラクですが、cssの使い方として正しいかど
うかは?です。


------------------------------------------------------------
石井 栄徳
ishii @ seedplanning.co.jp



PHP-users メーリングリストの案内