Commit 2032cb188faa9854efa32068a75da20549553b80

Authored by Anastasia
1 parent f1a0d1e0

- services menu

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>