Commit f53044e7d36193fa2216df9e07edcfe3f30fe121

Authored by alex
1 parent d73fd852

123

common/models/Question.php
... ... @@ -150,4 +150,5 @@
150 150 {
151 151 return $this->hasOne(Doctor::className(), [ 'id' => 'doctor_id' ]);
152 152 }
  153 +
153 154 }
... ...
common/models/Service.php
... ... @@ -2,6 +2,7 @@
2 2  
3 3 namespace common\models;
4 4  
  5 +use artbox\core\models\Alias;
5 6 use artbox\core\models\Image;
6 7 use artbox\core\models\traits\AliasableTrait;
7 8 use backend\behaviors\LevelBehavior;
... ... @@ -161,4 +162,6 @@ class Service extends ActiveRecord
161 162 public function getQuestions(){
162 163 return $this->hasMany(Question::className(), ['service_id' => 'id']);
163 164 }
  165 +
  166 +
164 167 }
... ...
common/models/ServiceLang.php
... ... @@ -5,7 +5,8 @@
5 5 use artbox\core\models\Alias;
6 6 use artbox\core\models\Language;
7 7 use Yii;
8   -
  8 + use yii\helpers\Json;
  9 +
9 10 /**
10 11 * This is the model class for table "service_lang".
11 12 *
... ... @@ -132,4 +133,10 @@
132 133 {
133 134 return $this->hasOne(Service::className(), [ 'id' => 'service_id' ]);
134 135 }
  136 +
  137 + public function getQuestionAlias(){
  138 + return $this->hasOne(Alias::className(), [])
  139 + ->where(['route' => Json::encode(['site\questions', 'service_id' => $this->service_id])])
  140 + ->andWhere(['language_id' => $this->language_id]);
  141 + }
135 142 }
... ...
frontend/controllers/SiteController.php
1 1 <?php
2 2 namespace frontend\controllers;
3 3  
  4 + use artbox\core\models\Alias;
4 5 use artbox\core\models\Feedback;
  6 + use artbox\core\models\Language;
5 7 use common\models\Comment;
6 8 use common\models\Package;
7 9 use common\models\Question;
... ... @@ -17,6 +19,7 @@
17 19 use yii\web\BadRequestHttpException;
18 20 use yii\web\Controller;
19 21 use yii\web\Response;
  22 + use yii\helpers\VarDumper as d;
20 23  
21 24 /**
22 25 * Site controller
... ... @@ -224,6 +227,7 @@
224 227 }
225 228  
226 229 public function actionQuestions($service_id = null){
  230 + Language::getCurrent();
227 231  
228 232 if (\Yii::$app->request->isAjax){
229 233 Yii::$app->response->format = Response::FORMAT_JSON;
... ... @@ -247,12 +251,17 @@
247 251 'pageSize' => 10,
248 252 ],
249 253 ]);
250   - $services = Service::find()->where(['status' => true])->andWhere(['parent_id' => null])->all();
251   -
  254 + $services = Service::find()->with('language.questionAlias')->where(['status' => true])->andWhere(['parent_id' => null])->all();
  255 + # d::dump($services[3]->id,10,1);
  256 + #d::dump($dataTest,10,1);
  257 + #die;
  258 +
  259 +
252 260 return $this->render('questions', [
253 261 'dataProvider' => $dataProvider,
254 262 'services' => $services,
255   - 'service_id' => $service_id
  263 + 'service_id' => $service_id,
  264 +
256 265 ]);
257 266 }
258 267  
... ...
frontend/views/site/questions.php
... ... @@ -12,7 +12,10 @@
12 12 use yii\helpers\Html;
13 13 use yii\widgets\ActiveForm;
14 14 use yii\widgets\ListView;
15   -
  15 + use yii\helpers\VarDumper as d;
  16 + use artbox\core\models\Alias;
  17 +
  18 +
16 19 $this->params[ 'breadcrumbs'][] = \Yii::t('app', 'Quest/Answer');
17 20  
18 21 $model = new Question(['service_id' => $service_id]);
... ... @@ -78,8 +81,30 @@
78 81 <span><?=\Yii::t('app','General issues');?></span></a></li>
79 82 <?php foreach ($services as $service){?>
80 83 <li <?=($service_id == $service->id ? 'class="active"' : '')?>>
81   - <a href="<?=Url::current(['service_id' => $service->id])?>"><span><?=$service->title?></span></a></li>
  84 + <?php
  85 + $test=Alias::find()
  86 + #->where(['route' => \yii\helpers\Json::encode(['site\questions', 'service_id' => $service->id])])
  87 + # ->andWhere(['language_id' => $service->language->language_id])->all();
  88 + #->where(['language_id' => $service->language->language_id])
  89 + ->where(['LIKE','route','"site/questions","service_id":'.$service->id ])
  90 + #->where(['LIKE','route','service_id:'.$service->id ])
  91 + ->andWhere(['language_id' => $service->language->language_id])
  92 + ->all();
  93 +
  94 + d::dump($service,10,1);
  95 + # d::dump($test,10,1);
  96 + die;
  97 +
  98 + ?>
  99 + <a href="<?=($service->language->questionAlias !== null) ?Url::to(['alias' => $service->language->questionAlias]): Url::current(['service_id' => $service->id])?>"><span><?=$service->title?></span></a></li>
82 100 <?php } ?>
  101 +
  102 +
  103 +
  104 +
  105 +
  106 +
  107 +
83 108 </ul>
84 109 </div>
85 110 <div class="col-xs-12 col-sm-12">
... ...