Commit 2032cb188faa9854efa32068a75da20549553b80
1 parent
f1a0d1e0
- services menu
Showing
2 changed files
with
14 additions
and
3 deletions
Show diff stats
frontend/controllers/ServiceController.php
@@ -10,6 +10,7 @@ | @@ -10,6 +10,7 @@ | ||
10 | 10 | ||
11 | use common\models\Service; | 11 | use common\models\Service; |
12 | use yii\db\ActiveQuery; | 12 | use yii\db\ActiveQuery; |
13 | + use yii\db\Query; | ||
13 | use yii\web\Controller; | 14 | use yii\web\Controller; |
14 | use yii\web\NotFoundHttpException; | 15 | use yii\web\NotFoundHttpException; |
15 | 16 | ||
@@ -18,9 +19,11 @@ | @@ -18,9 +19,11 @@ | ||
18 | public function actionView($id){ | 19 | public function actionView($id){ |
19 | $model = $this->findModel($id); | 20 | $model = $this->findModel($id); |
20 | if ($model->parent_id == null){ | 21 | if ($model->parent_id == null){ |
21 | - $others = Service::find()->where(['parent_id' => $model->id])->all(); | 22 | + $others = Service::find()->where(['parent_id' => $model->id])->with('services')->all(); |
23 | + }elseif ($model->level == 1){ | ||
24 | + $others = Service::find()->where(['parent_id' => $model->parent_id])->with('services')->all(); | ||
22 | }else{ | 25 | }else{ |
23 | - $others = Service::find()->where(['parent_id' => $model->parent_id])->all(); | 26 | + $others = Service::find()->where(['parent_id' => (new Query())->select('parent_id')->from('service')->where(['id' => $model->parent_id])])->with('services')->all(); |
24 | } | 27 | } |
25 | 28 | ||
26 | $model->body = str_replace('[[prices]]', $this->renderPartial('_prices', ['prices' => $model->prices]), $model->body); | 29 | $model->body = str_replace('[[prices]]', $this->renderPartial('_prices', ['prices' => $model->prices]), $model->body); |
frontend/views/service/view.php
@@ -28,7 +28,15 @@ | @@ -28,7 +28,15 @@ | ||
28 | <div class="style service-list-wr"> | 28 | <div class="style service-list-wr"> |
29 | <ul> | 29 | <ul> |
30 | <?php foreach ($others as $service){?> | 30 | <?php foreach ($others as $service){?> |
31 | - <li <?=($model->id == $service->id ? 'class="active"' : '')?>><a href="<?=Url::to(['alias' => $service->alias])?>"><?=$service->title?></a></li> | 31 | + <li class="<?=(($model->id == $service->id and $model->level != 2) ? 'active' : '')?> <?=(($model->parent_id == $service->id and $model->level == 2) ? 'active2' : '')?> <?=(!empty($service->services) ? 'has-list' : '')?>"><a href="<?=Url::to(['alias' => $service->alias])?>"><?=$service->title?></a> |
32 | + <?php | ||
33 | + if (($model->id == $service->id or $model->parent_id == $service->id) and !empty($service->services))?> | ||
34 | + <ul> | ||
35 | + <?php foreach ($service->services as $item){?> | ||
36 | + <li class="<?=($model->id == $item->id ? 'active' : '')?>"><a href="<?=Url::to(['alias' => $item->alias])?>"><?=$item->title?></a></li> | ||
37 | + <?php }?> | ||
38 | + </ul> | ||
39 | + </li> | ||
32 | <?php }?> | 40 | <?php }?> |
33 | </ul> | 41 | </ul> |
34 | </div> | 42 | </div> |