0

条件付きのカスタム フィールドを追加するYii の動作があります。

_form.php

$form->attachbehavior('users', new DirectoriesBehavior);

// return part of form
echo $form->getDirectory(array('sysName' => 'users', 'useDefaultValue' => true));

// Other form parts (default for yii)
echo $form->labelEx($model, 'name');

DirectoriesBehavior::getDirectory()<select>または<input>などのフィールドを使用して HTML フォーム パーツを作成します。

しかし、どうすればフォームの名前/IDを自分の行動に送ることができますか?

レンダリング後は次のようになります

<form method="" id="myForm">
    <!--BEHAVIORS CONTENT-->
    <select>
        <option value="UserId">UserName</option>
    </select>

    <!--Default fields of form-->
    <input type="text" name="myForm[exampleField]" />
</form>

そして、私の行動の内容は次のようになります

<select name="myForm[users]">
    <option>etc</option>
</select>
4

1 に答える 1

0

私はこの問題を解決します:

_form.php で $model を送信できます

$form->getDirectory(array('model' => $model));

ディレクトリBehavior.phpで

public function getDirectory(array $data)
{
    $this->inputName = get_class($data['model']);
}

また (このフォームで動作するスクリプトの場合、フォームの ID を送信できます)

_form.php

$form->id;
于 2012-08-22T06:50:49.360 に答える