mirror of
https://github.com/yiisoft/yii.git
synced 2026-03-10 10:06:58 +01:00
75 lines
3.3 KiB
Plaintext
75 lines
3.3 KiB
Plaintext
フォームの作成
|
|
=============
|
|
|
|
`login` ビューを書くのは簡単な事です。始めに、先ほど述べた `login`
|
|
アクション のURLを属性とする `form` タグを書きます。その後 `LoginForm`
|
|
クラスで定義された属性の為のインプットフィールドを挿入します。
|
|
最後にユーザがクリックしてフォームの内容を送信する為の送信ボタンを
|
|
挿入します。これらは全て、単純なHTMLコードで成し遂げられます。
|
|
|
|
Yiiはビューの作成を手助けするいくつかのヘルパークラスを供給します。
|
|
例えば、テキスト入力フィールドを作成する為に、[CHtml::textField()]
|
|
をコールする事が出来ます; ドロップダウンリストの作成の為には、
|
|
[CHtml::dropDownList()] をコールできます。
|
|
|
|
> Info|情報: 素のHTMLコードと比べて、同じような量のコードが必要なら、
|
|
>ヘルパーを使う事に何の利益があるのかと不思議に思うかも知れません。
|
|
>それに対する回答は、ヘルパーは、ただのHTMLコードよりも多くの機能を
|
|
>もたらすと言う事です。例えば下記のコードは、もしユーザが値を変更した時に、
|
|
>送信をトリガーする事が可能なテキスト入力フィールドを生成します。
|
|
> ~~~
|
|
> [php]
|
|
> CHtml::textField($name,$value,array('submit'=>''));
|
|
> ~~~
|
|
> このヘルパーが無ければ、ごちゃごちゃしたJavaScriptをあちこちへ
|
|
書く必要があるでしょう。
|
|
|
|
|
|
下記では [CHtml] をログインフォームの作成に使用しています。ここでは
|
|
`$user` という変数が `LoginForm` のインスタンスを表していると仮定します。
|
|
|
|
~~~
|
|
[php]
|
|
<div class="yiiForm">
|
|
<?php echo CHtml::beginForm(); ?>
|
|
|
|
<?php echo CHtml::errorSummary($user); ?>
|
|
|
|
<div class="simple">
|
|
<?php echo CHtml::activeLabel($user,'username'); ?>
|
|
<?php echo CHtml::activeTextField($user,'username'); ?>
|
|
</div>
|
|
|
|
<div class="simple">
|
|
<?php echo CHtml::activeLabel($user,'password'); ?>
|
|
<?php echo CHtml::activePasswordField($user,'password');
|
|
?>
|
|
</div>
|
|
|
|
<div class="action">
|
|
<?php echo CHtml::activeCheckBox($user,'rememberMe'); ?>
|
|
Remember me next time<br/>
|
|
<?php echo CHtml::submitButton('Login'); ?>
|
|
</div>
|
|
|
|
<?php echo CHtml::endForm(); ?>
|
|
</div><!-- yiiForm -->
|
|
~~~
|
|
|
|
上記のコードは、よりダイナミックなフォームを生成します。例えば、
|
|
[CHtml::activeLabel()] はモデルの属性で定められたものに結びついたラベル
|
|
を生成します。もし属性が入力エラーを持っていた場合、ラベルのCSSクラスは
|
|
`error` に変更され、表示はラベルに適したCSSスタイルへ変更されるでしょう。
|
|
同様に、[CHtml::activeTextField()] は、定義されたモデルの属性の為の
|
|
テキスト入力フィールドを生成し、あらゆる入力エラー時に、
|
|
そのCSSクラスを変更します。
|
|
|
|
`yiic` スクリプトで供給される、`form.css` というCSSスタイルファイル
|
|
を使用した場合、それによって生成されるフォームは下記の様になるでしょう:
|
|
|
|

|
|
|
|

|
|
|
|
<div class="revision">$Id: form.view.txt 857 2008-11-30 23:01:07Z qiang.xue $</div>
|