表格在yii中的行为

时间:2012-08-19 08:20:25

标签: php yii

我有一个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>

1 个答案:

答案 0 :(得分:0)

我解决了这个问题:

我们可以在_form.php中发送$ model

$form->getDirectory(array('model' => $model));
在DirectoriesBehavior.php

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

另外(对于将使用此表单的脚本,我们可以发送表单的ID)

_form.php这个

$form->id;