Основни данни'; $tabs['media'] = ' Медия файлове'; TableWidget::widget([ 'top' => [ 'title' => 'Страници', 'data' => [ 'index/dashboard' => 'Начало', 'web-portal/expositions' => 'Уеб портал', ] ], 'actions' => [ 'new' => 'Нова страница', 'edit' => 'Редакция на страница', 'delete' => 'Изтриване на страница' ], 'th' => [ '№' => 'c1 text-right', 'Заглавие на страница' => '', ], 'model' => Pages::class, 'data' => Pages::find()->loop([ 'id', function (Pages $model) { return '' . $model->name . ''; }, ], $_GET['p'] ?? 1, 30) ]); FormWidget::widget([ 'top' => [ 'title' => 'Нова страница', 'title_edit' => 'Редакция на страница', 'data' => [ 'index/dashboard' => 'Начало', 'web-portal/expositions' => 'Уеб портал', 'web-portal/navigation' => 'Страници' ], ], 'tabs' => $tabs ?? [], 'writeView' => "web-portal/tabs/" . Includes::tab($tab) . "/pages_w" , 'model' => Pages::class, 'validation' => function ($p) use ($tab) { if ($tab == 'main') { if (empty($p->{"name"})) return ["name" => 'Моля, въведете заглавие на страницата']; if (empty($p->{"name_en"})) return ["name_en" => 'Моля, въведете заглавие на страницата']; if (Pages::exists(['slug' => Formatter::cyrillicTrans(ltrim(rtrim($p->{"name"})))])) return ["name" => 'Заглавието вече съществува']; if (Pages::exists(['slug_en' => Formatter::cyrillicTrans(ltrim(rtrim($p->{"name_en"})))])) return ["name_en" => 'Заглавието вече съществува']; } else if (Includes::inLocales($tab)) { } return null; }, 'postService' => function ($p, Pages $model) use ($tab) { $model->setPostDataToModel(); if ($tab == 'main') { if ($p->{'name'}) { $name = ltrim($p->{'name'}, ' '); $name = rtrim($name, ' '); $model->name = $name; $model->slug = Formatter::cyrillicTrans($name); } if ($p->{'name_en'}) { $name_en = ltrim($p->{'name_en'}, ' '); $name_en = rtrim($name_en, ' '); $model->name_en = $name_en; $model->slug_en = Formatter::cyrillicTrans($name_en); } } $model->save(); if(!empty($p->contacts) && $model->contact) { $contactModel = \app\models\Contacts::findOne($model->contact->id); foreach ($p->contacts as $contact => $value) { $contactModel->{$contact} = $value; } $contactModel->save(); } if (empty($_GET['media_key_update'])) { Yii::$app->flash('success', isset($_GET['id']) ? 'Страницата е актуализирана успешно' : 'Страницата е създадена успешно'); $model->smartRedirect(); } } ]);