From b2e6e4cc44423119e9246f2d775fe1f4b24d0f39 Mon Sep 17 00:00:00 2001 From: dozer111 Date: Tue, 28 Aug 2018 14:52:25 +0300 Subject: [PATCH] Добавил возможность создавать свои страницы в админке, + выводить их на экран --- console/migrations/m180828_092957_page_update_updatedAt_createdAt.php | 26 ++++++++++++++++++++++++++ frontend/config/main.php | 6 +++++- frontend/controllers/PageController.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ frontend/views/layouts/main.php | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- frontend/views/page/view.php | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ frontend/views/site/index.php | 105 --------------------------------------------------------------------------------------------------------- frontend/web/css/change.css | 3 ++- 7 files changed, 258 insertions(+), 108 deletions(-) create mode 100644 console/migrations/m180828_092957_page_update_updatedAt_createdAt.php create mode 100755 frontend/controllers/PageController.php create mode 100755 frontend/views/page/view.php diff --git a/console/migrations/m180828_092957_page_update_updatedAt_createdAt.php b/console/migrations/m180828_092957_page_update_updatedAt_createdAt.php new file mode 100644 index 0000000..a9ad00b --- /dev/null +++ b/console/migrations/m180828_092957_page_update_updatedAt_createdAt.php @@ -0,0 +1,26 @@ +dropColumn('page','created_at'); + $this->dropColumn('page','updated_at'); + $this->addColumn('page','created_at',$this->integer()); + $this->addColumn('page','updated_at',$this->integer()); + } + + public function down() + { + + } + +} diff --git a/frontend/config/main.php b/frontend/config/main.php index fad74e2..ab9ba48 100755 --- a/frontend/config/main.php +++ b/frontend/config/main.php @@ -1,6 +1,8 @@ [ - 'class' => SeoComponent::className(), + 'class' => SeoComponent::className(), + + ], 'errorHandler' => [ 'errorAction' => 'site/error', diff --git a/frontend/controllers/PageController.php b/frontend/controllers/PageController.php new file mode 100755 index 0000000..798179a --- /dev/null +++ b/frontend/controllers/PageController.php @@ -0,0 +1,60 @@ +findModel($id); + + /** + * @var SeoComponent $seo + */ + $seo = Yii::$app->get('seo'); + + $seo->setModel($model->lang); + return $this->render( + 'view', + [ + 'model' => $model, + 'images' => $model->getImages(), + ] + ); + } + + protected function findModel($id) + { + /** + * @var Page $model + */ + $model = Page::find() + ->where( + [ + 'id' => $id, + ] + ) + ->with('lang') + ->one(); + + if (!empty( $model )) { +// if ($model->lang->alias_id !== Yii::$app->seo->aliasId) { +// throw new NotFoundHttpException(\Yii::t('app', 'Wrong language')); +// } + return $model; + } else { + throw new NotFoundHttpException(\Yii::t('app', 'Model not found')); + } + } + } \ No newline at end of file diff --git a/frontend/views/layouts/main.php b/frontend/views/layouts/main.php index a6f58de..ca41432 100755 --- a/frontend/views/layouts/main.php +++ b/frontend/views/layouts/main.php @@ -13,12 +13,16 @@ use artbox\core\models\PageCategory; use artbox\core\models\User; use yii\bootstrap\Html; use yii\web\View; - +use frontend\widgets\LanguageWidget; +use common\models\Settings; $seo=\Yii::$app->get('seo'); \frontend\assets\AppAsset::register($this); + + +$settings = Settings::getInstance(); ?> @@ -56,7 +60,112 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= height="0" width="0" style="display:none;visibility:hidden"> beginBody() ?> +
+ +
+
+
+
+ + + +
+ +
+ + + + +
+
+ + LanguageWidget::LAYOUT_UL, + 'layoutAttributes' =>[ + 'a' =>[ + 'activeClass' => 'sep-lang-a' + ], + ], + ]); + + ?> + + +
+ email)) + ?' href="mailto:'.$settings->email.'"' + :''; + ?> + > + email??'')?> + +
+ +
+
+ + + + +
+ phone))?Html::a($settings->phone, + 'tel:'.$settings->phone):'';?> + phone2))?Html::a($settings->phone2, + 'tel:'.$settings->phone2):'';?> +
+ +
+
+
+
+ + + +
diff --git a/frontend/views/page/view.php b/frontend/views/page/view.php new file mode 100755 index 0000000..32c4739 --- /dev/null +++ b/frontend/views/page/view.php @@ -0,0 +1,55 @@ +get('seo'); + $this->params[ 'breadcrumbs' ][] = $seo->title; +?> +
+ +
+
+
+ + +
+ +
+ lang->title?> +
+ +
+ lang->body?> + + +
+
+
+
+
+ + + + + + +
+ diff --git a/frontend/views/site/index.php b/frontend/views/site/index.php index 5599862..a3b2cf1 100644 --- a/frontend/views/site/index.php +++ b/frontend/views/site/index.php @@ -30,112 +30,7 @@ $moduleRequest=\Yii::$app->getModule('request_1'); -
-
-
-
-
- - - -
- -
- - - - -
-
- - LanguageWidget::LAYOUT_UL, - 'layoutAttributes' =>[ - 'a' =>[ - 'activeClass' => 'sep-lang-a' - ], - ], - ]); - - ?> - - -
- email)) - ?' href="mailto:'.$settings->email.'"' - :''; - ?> - > - email??'')?> - -
- -
-
- - - - -
- phone))?Html::a($settings->phone, - 'tel:'.$settings->phone):'';?> - phone2))?Html::a($settings->phone2, - 'tel:'.$settings->phone2):'';?> -
- -
-
-
-
- - - - -
diff --git a/frontend/web/css/change.css b/frontend/web/css/change.css index 084c032..0eae99c 100644 --- a/frontend/web/css/change.css +++ b/frontend/web/css/change.css @@ -37,4 +37,5 @@ input ,.form-control{ } .gmnoprint img { max-width: none; -} \ No newline at end of file +} + -- libgit2 0.21.4