我有一个Yii behavior,它会添加一些带条件的自定义字段
_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>
答案 0 :(得分:0)
我解决了这个问题:
我们可以在_form.php中发送$ model
$form->getDirectory(array('model' => $model));
public function getDirectory(array $data)
{
$this->inputName = get_class($data['model']);
}
另外(对于将使用此表单的脚本,我们可以发送表单的ID)
_form.php这个
$form->id;