/** * Отображение дополнительных полей * Используется при имземении шаблона * @return mixed */ public function actionAjaxoptions() { $id = Yii::$app->request->post('id'); if ($id) { $model = Document::findOne($id); } else { $model = new Document(); } /** * Не используем функцию findModel, т.к. * в данном случае важно изменение шаблона * перед инициализацией для установления * новых дополнительных полей, соотвествующих * новому выбранному шаблону */ $model->last_parent_id = $model->parent_id; $model->last_template_id = $model->template_id; $model->template_id = Yii::$app->request->post('template_id'); $model->initialization(); $template = Template::findOne($model->template_id); $empty_value = $model->last_template_id != $model->template_id ? true : false; return $this->renderAjax('_options_fields', ['model' => $model, 'template' => $template, 'empty_value' => $empty_value]); }