From fab1487f4f11aa0c1df62e65761d27a4b987460d Mon Sep 17 00:00:00 2001 From: Anastasia Date: Thu, 31 May 2018 13:10:36 +0300 Subject: [PATCH] - comments --- frontend/controllers/SiteController.php | 32 ++++++++++++++++++++++++++++++++ frontend/views/site/_comment.php | 10 ++++++++++ frontend/views/site/comments.php | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ frontend/web/js/script.js | 6 ++++-- 4 files changed, 153 insertions(+), 2 deletions(-) create mode 100644 frontend/views/site/_comment.php create mode 100644 frontend/views/site/comments.php diff --git a/frontend/controllers/SiteController.php b/frontend/controllers/SiteController.php index 26f722c..6761d25 100755 --- a/frontend/controllers/SiteController.php +++ b/frontend/controllers/SiteController.php @@ -252,4 +252,36 @@ 'service_id' => $service_id ]); } + + public function actionComments($service_id = null){ + + if (\Yii::$app->request->isAjax){ + Yii::$app->response->format = Response::FORMAT_JSON; + $model = new Comment(); + if ($model->load(\Yii::$app->request->post()) and $model->save()){ + return [ + 'status' => true, + 'message' => 'Спасибо за Ваш отзыв. После проверки модератором он появиться на сайте' + ]; + }else{ + return [ + 'status' => false, + 'message' => 'Ошибка' + ]; + } + } + $dataProvider = new ActiveDataProvider([ + 'query' => Comment::find()->where(['status' => true])->andFilterWhere(['service_id' => $service_id]), + 'pagination' => [ + 'pageSize' => 10, + ], + ]); + $services = Service::find()->where(['status' => true])->andWhere(['parent_id' => null])->all(); + + return $this->render('comments', [ + 'dataProvider' => $dataProvider, + 'services' => $services, + 'service_id' => $service_id + ]); + } } diff --git a/frontend/views/site/_comment.php b/frontend/views/site/_comment.php new file mode 100644 index 0000000..cb0a1bf --- /dev/null +++ b/frontend/views/site/_comment.php @@ -0,0 +1,10 @@ + +
+
name?>
+
comment?>
+
created_at)?>
+
diff --git a/frontend/views/site/comments.php b/frontend/views/site/comments.php new file mode 100644 index 0000000..493239a --- /dev/null +++ b/frontend/views/site/comments.php @@ -0,0 +1,107 @@ +params[ 'breadcrumbs'][] = \Yii::t('app', 'Вопрос-ответ'); + + $model = new Comment(['service_id' => $service_id]); + + $data = ['' => 'Общие вопросы'] + ArrayHelper::map($services, 'id', 'title'); + ?> + + +
+
+
+
+

Отзывы

+
+
+
+
+
+ Оставить отзыв +
+ +
+
+ +
+
+
+ [ + ], + 'layout' => '{items}', + 'dataProvider' => $dataProvider, + 'itemView' => '_comment' + ] + );?> + + + + + +
+
+
+
+
diff --git a/frontend/web/js/script.js b/frontend/web/js/script.js index 83938a7..31a630c 100644 --- a/frontend/web/js/script.js +++ b/frontend/web/js/script.js @@ -430,13 +430,14 @@ $(document).ready(function() { - $(document).on('submit', '#total_question_form', function(e) { + $(document).on('submit', '#total_question_form, #total_comment_form', function(e) { e.preventDefault(); var form = $(this); + var id = form.attr('id'); var url = form.attr('action'); $.post( $(this).attr("action"), $(this).serialize(), function(data) { - document.getElementById("total_question-form").reset(); + document.getElementById(id).reset(); form.find('.submit-close-c-a').click(); $(".add-answer-forms").after("

"+data.message+"

"); var dat = form.data('yiiActiveForm'); @@ -447,6 +448,7 @@ $(document).ready(function() { }); + }); window.onload = function () { -- libgit2 0.21.4