From a4320bd1d07dc2bba19615ade8065c0830eef0a2 Mon Sep 17 00:00:00 2001 From: Anastasia Date: Wed, 13 Jun 2018 13:52:36 +0300 Subject: [PATCH] - bug fix --- backend/controllers/PackageController.php | 7 +++++++ common/models/Package.php | 6 +++++- common/models/Service.php | 4 ++++ frontend/controllers/ServiceController.php | 5 +++++ frontend/views/service/view.php | 31 +++++++++++++++++++++++++++++++ frontend/views/site/comments.php | 2 +- 6 files changed, 53 insertions(+), 2 deletions(-) diff --git a/backend/controllers/PackageController.php b/backend/controllers/PackageController.php index b1fa3fa..03563d0 100644 --- a/backend/controllers/PackageController.php +++ b/backend/controllers/PackageController.php @@ -164,6 +164,13 @@ 'name' => 'sort', 'type' => Form::NUMBER, ], + [ + 'name' => 'service_id', + 'type' => Form::RELATION, + 'relationAttribute' => 'title', + 'relationName' => 'service', + 'multiple' => false, + ] ], ]; } diff --git a/common/models/Package.php b/common/models/Package.php index 1eb0f74..b4f857d 100644 --- a/common/models/Package.php +++ b/common/models/Package.php @@ -79,7 +79,7 @@ class Package extends ActiveRecord { return [ [['sort', 'created_at', 'updated_at'], 'default', 'value' => null], - [['sort', 'created_at', 'updated_at', 'image_id'], 'integer'], + [['sort', 'created_at', 'updated_at', 'image_id', 'service_id'], 'integer'], [['status'], 'boolean'], ]; } @@ -130,4 +130,8 @@ class Package extends ActiveRecord return $this->hasOne(Image::className(), ['id' => 'image_id']); } + public function getService(){ + return $this->hasOne(Service::className(), ['id' => 'service_id']); + } + } diff --git a/common/models/Service.php b/common/models/Service.php index 6073abb..6e76dd8 100644 --- a/common/models/Service.php +++ b/common/models/Service.php @@ -162,4 +162,8 @@ class Service extends ActiveRecord public function getQuestions(){ return $this->hasMany(Question::className(), ['service_id' => 'id']); } + + public function getPackages(){ + return $this->hasMany(Package::className(), ['service_id' => 'id']); + } } diff --git a/frontend/controllers/ServiceController.php b/frontend/controllers/ServiceController.php index 7701036..d1bcee5 100644 --- a/frontend/controllers/ServiceController.php +++ b/frontend/controllers/ServiceController.php @@ -20,6 +20,9 @@ $model = $this->findModel($id); if ($model->parent_id == null){ $others = Service::find()->where(['parent_id' => $model->id])->with('services.language.alias')->all(); + if (empty($others)){ + $others = Service::find()->where(['parent_id' => null, 'status' => true])->all(); + } }elseif ($model->level == 1){ $others = Service::find()->where(['parent_id' => $model->parent_id])->with('services.language.alias')->all(); }else{ @@ -42,6 +45,8 @@ $query->where(['status' => true]); }, 'questions' => function (ActiveQuery $query){ $query->where(['status' => true])->with('doctor'); + },'packages' => function (ActiveQuery $query){ + $query->with(['image', 'language'])->where(['status' => true]); }])->one(); if (empty($model)){ throw new NotFoundHttpException('Model not found'); diff --git a/frontend/views/service/view.php b/frontend/views/service/view.php index f270e3a..9d950a7 100644 --- a/frontend/views/service/view.php +++ b/frontend/views/service/view.php @@ -7,6 +7,7 @@ * @var \yii\web\View $this * @var \artbox\core\components\SeoComponent $seo; */ + use artbox\core\helpers\ImageHelper; use artbox\core\helpers\Url; use common\models\Service; @@ -77,6 +78,36 @@ +
+ packages)){ + foreach ($model->packages as $package){?> + + +
diff --git a/frontend/views/site/comments.php b/frontend/views/site/comments.php index 147bcdd..6104b55 100644 --- a/frontend/views/site/comments.php +++ b/frontend/views/site/comments.php @@ -14,7 +14,7 @@ use yii\widgets\ActiveForm; use yii\widgets\ListView; - $this->params[ 'breadcrumbs'][] = \Yii::t('app', 'Quest/Answer'); + $this->params[ 'breadcrumbs'][] = \Yii::t('app', 'Отзывы'); $model = new Comment(['entity_id' => $service_id, 'entity' => Service::className()]); -- libgit2 0.21.4