я использую moonlandsoft / yii2-TinyMCE в моем проекте Yii2.
Я использую это в соответствии с их документацией.
use moonland\tinymce\TinyMCE;
echo TinyMCE::widget(['name' => 'text-content']);
$form->field($model, 'description')->widget(TinyMCE::className());
Я не знаю, как они сначала визуализируют виджет, а затем загружают модель в него.
Это не имеет значения и не проверяется при отправке. Обязательное поле моей таблицы.
Контроллер:
public function actionUpdate($id) {
$model = $this->findModel($id);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->productId]);
} else {
return $this->render('update', [
'model' => $model,
]);
}
}
Модель:
public function rules()
{
return [
[['prodname','description'], 'required'],
];
}
Посмотреть :
<div class="row" style="margin-top: 10px;">
<div class="col-md-12 col-sm-8 col-xs-12">
<?php
echo TinyMCE::widget(['name' => 'text-content']);
$form->field($model, 'description')->widget(TinyMCE::className());
?>
</div>
</div>
По вашему мнению, вы отображаете поле, которого нет в вашей модели (name
) и тот, который есть (description
Вы не отображаете это. Предполагая только description
будет использовать виджет TinyMCE, ваш вид должен выглядеть так:
<div class="row" style="margin-top: 10px;">
<div class="col-md-12 col-sm-8 col-xs-12">
<?= $form->field($model, 'description')->widget(TinyMCE::className()); ?>
</div>
</div>
Других решений пока нет …