Yii2小部件textarea(\ yii \ imperavi \ Widget)默认

时间:2018-02-09 11:08:57

标签: forms yii2 widget textarea field

我需要将post值设置为textarea,但textarea不常用textarea,我使用widget \yii\imperavi\Widget textarea,因为现在我不明白如何添加默认值。

    echo $form->field($model, $property)->widget(
    \yii\imperavi\Widget::className(), [
        'plugins' => ['fullscreen', 'fontcolor'],
        'value' => 'Hello World!',
        'options' => [
            'minHeight' => 400,
            'maxHeight' => 400,
            'buttonSource' => true,
            'convertDivs' => false,
            'removeEmptyTags' => false,
            'imageUpload' => Yii::$app->urlManager->createUrl(['/file-storage/upload-imperavi'])
        ]
    ]
)->label( $label ) ?>

这不起作用

'value' => 'Hello World!'

也许你有这样的问题,知道如何解决? ))

enter image description here

1 个答案:

答案 0 :(得分:0)

您的小部件只是一个名为" Redactor"的目标文本编辑器。它的目的不是设置"默认"值到表单的基础文本字段,但支持具有丰富的编辑功能。

您需要的是为基础文本字段设置默认值 - 无论是否存在小部件!

在Yii2中提供默认值的方法是初始化支持此活动文本字段的模型,并将其属性设置为给定值而不是默认值" null"。

这可以在模型类中最好地完成。我假设你的模型类正在扩展ActiveRecord类:

class MyModel extends yii\db\ActiveRecord
{
    public function init()
    {
        parent::init(); // this is obligatory!
        $this->attribute_name = "My default text";
    }
}

where" attribute_name"实际上是您应该在ActiveField中进一步使用的属性的名称:

echo $form->field($model, 'attribute_name')
->widget(\yii\imperavi\Widget::className(), [...]);

我希望这可能会有所帮助!