78 lines
2.3 KiB
PHP
78 lines
2.3 KiB
PHP
<?php
|
|
|
|
use app\models\Pages;
|
|
use app\models\SeoManagement;
|
|
use app\services\Formatter;
|
|
use app\widgets\FormWidget;
|
|
use app\widgets\services\Includes;
|
|
use app\widgets\TableWidget;
|
|
|
|
$tab = $_GET['tab'] ?? 'main';
|
|
$_GET['tab'] = $tab;
|
|
$_GET['id'] = 1;
|
|
$_GET['o'] = 'w';
|
|
|
|
TableWidget::widget([
|
|
'top' => [
|
|
'title' => 'SEO управление',
|
|
'data' => [
|
|
'index/dashboard' => 'Начало',
|
|
'web-portal/expositions' => 'Уеб портал',
|
|
]
|
|
],
|
|
'actions' => [
|
|
//'new' => 'Нов SEO запис',
|
|
//'edit' => 'Редакция на SEO запис',
|
|
//'delete' => 'Изтриване на SEO запис'
|
|
],
|
|
'th' => [
|
|
'№' => 'c1 text-right',
|
|
'Ключови думи' => '',
|
|
'Текст' => '',
|
|
'Страница' => '',
|
|
],
|
|
'model' => SeoManagement::class,
|
|
'data' => SeoManagement::find()->loop([
|
|
'id',
|
|
'key_words',
|
|
'text',
|
|
function (SeoManagement $model) {
|
|
if ($model->page) {
|
|
return $model->page->name;
|
|
} else {
|
|
return 'основни данни';
|
|
}
|
|
}
|
|
], $_GET['p'] ?? 1, 30)
|
|
]);
|
|
|
|
FormWidget::widget([
|
|
'top' => [
|
|
'title' => 'Нов SEO запис',
|
|
'title_edit' => 'Редакция на SEO запис',
|
|
'data' => [
|
|
'index/dashboard' => 'Начало',
|
|
'web-portal/expositions' => 'Уеб портал',
|
|
'web-portal/navigation' => 'SEO управление'
|
|
],
|
|
],
|
|
'tabs' => [],
|
|
'writeView' => "web-portal/tabs/" . Includes::tab($tab) . "/seo_w",
|
|
'model' => SeoManagement::class,
|
|
'validation' => function ($p) {
|
|
|
|
if(empty($p->{'page_seo'})) {
|
|
if(empty($p->{'page_id'})) {
|
|
return ["page_id" => 'Моля, изберете страница, за която искате да се отнасят данни'];
|
|
}
|
|
}
|
|
},
|
|
'postService' => function ($p, SeoManagement $model) {
|
|
$model->setPostDataToModel();
|
|
$model->save();
|
|
Yii::$app->flash('success', isset($_GET['id']) ? 'Записа е актуализирана успешно' : 'Записа е създадена успешно');
|
|
$model->redirectTo('web-portal/seo');
|
|
|
|
}
|
|
]);
|