Commit ea8c5991eeb9c017d58a14031075788205a4e54d
1 parent
7b83055d
add Vitaliy's widgets
Showing
8 changed files
with
75 additions
and
100 deletions
Show diff stats
backend/views/specialization/_form.php
| @@ -14,15 +14,24 @@ use yii\helpers\ArrayHelper; | @@ -14,15 +14,24 @@ use yii\helpers\ArrayHelper; | ||
| 14 | 14 | ||
| 15 | <?= $form->field($model, 'specialization_pid')->dropDownList(ArrayHelper::map($model->find()->all(), 'specialization_id', 'specialization_name'), ['prompt' => 'Выберие родителя']) ?> | 15 | <?= $form->field($model, 'specialization_pid')->dropDownList(ArrayHelper::map($model->find()->all(), 'specialization_id', 'specialization_name'), ['prompt' => 'Выберие родителя']) ?> |
| 16 | <?= $form->field($model, 'specialization_name')->textInput(['maxlength' => true]) ?> | 16 | <?= $form->field($model, 'specialization_name')->textInput(['maxlength' => true]) ?> |
| 17 | - <?= \common\widgets\ImageUploader::widget([ | ||
| 18 | - 'model'=> $model, | ||
| 19 | - 'field'=>'img', | ||
| 20 | - 'width'=>240, | ||
| 21 | - 'height'=>160, | ||
| 22 | - 'multi'=>false, | ||
| 23 | - 'gallery' =>$model->img, | ||
| 24 | - 'name' => 'Загрузить картинку' | ||
| 25 | - ]); ?> | 17 | + |
| 18 | + <?php | ||
| 19 | + | ||
| 20 | + echo $form->field($model, 'background')->textInput(); | ||
| 21 | + | ||
| 22 | + if($model->specialization_pid == 0 && !empty($model->specialization_id) ){ | ||
| 23 | + echo \common\widgets\ImageUploader::widget([ | ||
| 24 | + 'model'=> $model, | ||
| 25 | + 'field'=>'image', | ||
| 26 | + 'width'=>940, | ||
| 27 | + 'height'=>324, | ||
| 28 | + 'multi'=>false, | ||
| 29 | + 'gallery' =>$model->image, | ||
| 30 | + 'name' => 'Загрузить картинку' | ||
| 31 | + ]); | ||
| 32 | + } | ||
| 33 | + ?> | ||
| 34 | + | ||
| 26 | <div class="form-group"> | 35 | <div class="form-group"> |
| 27 | <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | 36 | <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> |
| 28 | </div> | 37 | </div> |
common/models/Specialization.php
| @@ -10,10 +10,11 @@ use Yii; | @@ -10,10 +10,11 @@ use Yii; | ||
| 10 | * @property integer $specialization_id | 10 | * @property integer $specialization_id |
| 11 | * @property integer $specialization_pid | 11 | * @property integer $specialization_pid |
| 12 | * @property string $specialization_name | 12 | * @property string $specialization_name |
| 13 | + * @property string $image | ||
| 14 | + * @property string $background | ||
| 13 | */ | 15 | */ |
| 14 | class Specialization extends \yii\db\ActiveRecord | 16 | class Specialization extends \yii\db\ActiveRecord |
| 15 | { | 17 | { |
| 16 | - public $img; | ||
| 17 | /** | 18 | /** |
| 18 | * @inheritdoc | 19 | * @inheritdoc |
| 19 | */ | 20 | */ |
| @@ -28,10 +29,10 @@ class Specialization extends \yii\db\ActiveRecord | @@ -28,10 +29,10 @@ class Specialization extends \yii\db\ActiveRecord | ||
| 28 | public function rules() | 29 | public function rules() |
| 29 | { | 30 | { |
| 30 | return [ | 31 | return [ |
| 31 | - [['specialization_pid'], 'integer'], | 32 | + [['specialization_pid','status'], 'integer'], |
| 32 | [['specialization_pid'], 'default', 'value' => '0',], | 33 | [['specialization_pid'], 'default', 'value' => '0',], |
| 33 | [['specialization_name'], 'required'], | 34 | [['specialization_name'], 'required'], |
| 34 | - [['specialization_name'], 'string', 'max' => 255], | 35 | + [['specialization_name','image','background'], 'string', 'max' => 255], |
| 35 | ]; | 36 | ]; |
| 36 | } | 37 | } |
| 37 | 38 | ||
| @@ -45,6 +46,9 @@ class Specialization extends \yii\db\ActiveRecord | @@ -45,6 +46,9 @@ class Specialization extends \yii\db\ActiveRecord | ||
| 45 | 'specialization_pid' => 'Specialization Pid', | 46 | 'specialization_pid' => 'Specialization Pid', |
| 46 | 'specialization_name' => 'Specialization Name', | 47 | 'specialization_name' => 'Specialization Name', |
| 47 | 'specialization_parent_name' => 'Specialization Parent Name', | 48 | 'specialization_parent_name' => 'Specialization Parent Name', |
| 49 | + 'image' => 'Картинка', | ||
| 50 | + 'background' => 'Background', | ||
| 51 | + 'status' => 'Status', | ||
| 48 | ]; | 52 | ]; |
| 49 | } | 53 | } |
| 50 | 54 | ||
| @@ -54,4 +58,9 @@ class Specialization extends \yii\db\ActiveRecord | @@ -54,4 +58,9 @@ class Specialization extends \yii\db\ActiveRecord | ||
| 54 | return $this->hasOne(self::className(), ['specialization_id' => 'specialization_pid']); | 58 | return $this->hasOne(self::className(), ['specialization_id' => 'specialization_pid']); |
| 55 | } | 59 | } |
| 56 | 60 | ||
| 61 | + public function getChildren() | ||
| 62 | + { | ||
| 63 | + return $this->hasMany(self::className(), ['specialization_pid' => 'specialization_id']); | ||
| 64 | + } | ||
| 65 | + | ||
| 57 | } | 66 | } |
common/widgets/FieldEditor.php
| @@ -33,6 +33,7 @@ class FieldEditor extends Widget | @@ -33,6 +33,7 @@ class FieldEditor extends Widget | ||
| 33 | protected function findModel() | 33 | protected function findModel() |
| 34 | { | 34 | { |
| 35 | 35 | ||
| 36 | + | ||
| 36 | if (($model = Fields::find()->where([ | 37 | if (($model = Fields::find()->where([ |
| 37 | 'table_id'=>$this->item_id, | 38 | 'table_id'=>$this->item_id, |
| 38 | 'table_name'=>$this->model, | 39 | 'table_name'=>$this->model, |
common/widgets/views/education_field.php
| 1 | <?php | 1 | <?php |
| 2 | use yii\helpers\Html; | 2 | use yii\helpers\Html; |
| 3 | + | ||
| 3 | ?> | 4 | ?> |
| 4 | <fieldset> | 5 | <fieldset> |
| 5 | 6 | ||
| @@ -8,16 +9,18 @@ use yii\helpers\Html; | @@ -8,16 +9,18 @@ use yii\helpers\Html; | ||
| 8 | <p class="btn btn-success add_field">Добавить поле</p> | 9 | <p class="btn btn-success add_field">Добавить поле</p> |
| 9 | 10 | ||
| 10 | 11 | ||
| 11 | - <?php for($i=1; $i <= count($model); $i++): | 12 | + <?php $t = 0; for($i=1; $i <= count($model); $i++): |
| 12 | $row = $i; | 13 | $row = $i; |
| 14 | + | ||
| 13 | ?> | 15 | ?> |
| 14 | 16 | ||
| 15 | <?= Html::beginTag('div',['class'=>'form-group','id'=>isset($model[$i]['parent_key']) ? $model[$i]['parent_key'] : 0 ])?> | 17 | <?= Html::beginTag('div',['class'=>'form-group','id'=>isset($model[$i]['parent_key']) ? $model[$i]['parent_key'] : 0 ])?> |
| 16 | - <input type="text" placeholder="С" class="form-control" value="<?= isset($model[$i]['value']) ? $model[$i]['value'] : '' ?>" name="Fields[education][<?=$row?>][0][year_from]" /> | ||
| 17 | - <input type="text" placeholder="По" class="form-control" value="<?= isset($model[++$i]['value']) ? $model[$i]['value'] : '' ?>" name="Fields[education][<?=$row?>][1][year_to]" /> | ||
| 18 | - <textarea placeholder="Место" name="Fields[education][<?=$row?>][2][place]" /><?= isset($model[++$i]['value']) ? $model[$i]['value'] : '' ?></textarea> | 18 | + <input type="text" placeholder="С" class="form-control" value="<?= isset($model[$t]['value']) ? $model[$t]['value'] : '' ?>" name="Fields[education][<?=$row?>][0][year_from]" /> |
| 19 | + <input type="text" placeholder="По" class="form-control" value="<?= isset($model[++$t]['value']) ? $model[$t]['value'] : '' ?>" name="Fields[education][<?=$row?>][1][year_to]" /> | ||
| 20 | + <textarea placeholder="Место" name="Fields[education][<?=$row?>][2][place]" /><?= isset($model[++$t]['value']) ? $model[$t]['value'] : '' ?></textarea> | ||
| 19 | <span data-id="<?= isset($model[$i]['parent_key']) ? $model[$i]['parent_key'] : 0 ?>" title="удалить" class="glyphicon glyphicon-trash delete-field-item"></span> | 21 | <span data-id="<?= isset($model[$i]['parent_key']) ? $model[$i]['parent_key'] : 0 ?>" title="удалить" class="glyphicon glyphicon-trash delete-field-item"></span> |
| 20 | <?= Html::endTag('div')?> | 22 | <?= Html::endTag('div')?> |
| 23 | + <?php $i = ++ $t; ?> | ||
| 21 | <?php endfor; ?> | 24 | <?php endfor; ?> |
| 22 | 25 | ||
| 23 | 26 | ||
| @@ -30,7 +33,7 @@ use yii\helpers\Html; | @@ -30,7 +33,7 @@ use yii\helpers\Html; | ||
| 30 | var block = $(this).parent('fieldset'); | 33 | var block = $(this).parent('fieldset'); |
| 31 | var block_id = $(this).parent('fieldset'); | 34 | var block_id = $(this).parent('fieldset'); |
| 32 | var sub_block = '<div class="form-group" >'+ | 35 | var sub_block = '<div class="form-group" >'+ |
| 33 | - '<input type="text" placeholder="С" class="form-control" value="" name="Fields[education]['+ start_i++ +'][0][year_from]" />'+ | 36 | + '<input type="text" placeholder="С" class="form-control" value="" name="Fields[education]['+ ++start_i +'][0][year_from]" />'+ |
| 34 | '<input type="text" placeholder="По" class="form-control" value="" name="Fields[education]['+ start_i +'][1][year_to]" />'+ | 37 | '<input type="text" placeholder="По" class="form-control" value="" name="Fields[education]['+ start_i +'][1][year_to]" />'+ |
| 35 | '<textarea placeholder="Место" name="Fields[education]['+ start_i +'][2][place]" /></textarea>'+ | 38 | '<textarea placeholder="Место" name="Fields[education]['+ start_i +'][2][place]" /></textarea>'+ |
| 36 | '<span title="удалить" class="glyphicon glyphicon-trash delete-field-item"></span>'+ | 39 | '<span title="удалить" class="glyphicon glyphicon-trash delete-field-item"></span>'+ |
frontend/controllers/AccountsController.php
| @@ -48,11 +48,10 @@ class AccountsController extends Controller | @@ -48,11 +48,10 @@ class AccountsController extends Controller | ||
| 48 | 48 | ||
| 49 | $langs = Language::getActiveLanguages(); | 49 | $langs = Language::getActiveLanguages(); |
| 50 | 50 | ||
| 51 | - | ||
| 52 | if ($user->load(Yii::$app->request->post()) && $user->save()) { | 51 | if ($user->load(Yii::$app->request->post()) && $user->save()) { |
| 53 | $user->userInfo->load(Yii::$app->request->post()); | 52 | $user->userInfo->load(Yii::$app->request->post()); |
| 54 | $user->userInfo->save(); | 53 | $user->userInfo->save(); |
| 55 | - Fields::saveFieldData( Yii::$app->request->post('Fields'), $user->id, $user::className()); | 54 | + Fields::saveFieldData( Yii::$app->request->post('Fields'), $user->id, $user::className(),'ru'); |
| 56 | return $this->render('cabinet', [ | 55 | return $this->render('cabinet', [ |
| 57 | 'user' => $user, | 56 | 'user' => $user, |
| 58 | 'user_info' => $user->userInfo, | 57 | 'user_info' => $user->userInfo, |
frontend/controllers/SiteController.php
| 1 | <?php | 1 | <?php |
| 2 | namespace frontend\controllers; | 2 | namespace frontend\controllers; |
| 3 | 3 | ||
| 4 | +use common\models\Specialization; | ||
| 4 | use common\models\UserInfo; | 5 | use common\models\UserInfo; |
| 5 | use Yii; | 6 | use Yii; |
| 6 | use common\models\LoginForm; | 7 | use common\models\LoginForm; |
| @@ -62,7 +63,11 @@ class SiteController extends Controller | @@ -62,7 +63,11 @@ class SiteController extends Controller | ||
| 62 | */ | 63 | */ |
| 63 | public function actionIndex() | 64 | public function actionIndex() |
| 64 | { | 65 | { |
| 65 | - return $this->render('index'); | 66 | + $specializations = Specialization::find()->where(['specialization_pid'=>0])->all(); |
| 67 | + | ||
| 68 | + return $this->render('index',[ | ||
| 69 | + 'specializations' => $specializations, | ||
| 70 | + ]); | ||
| 66 | } | 71 | } |
| 67 | 72 | ||
| 68 | /** | 73 | /** |
frontend/views/accounts/_form.php
| @@ -56,7 +56,7 @@ use mihaildev\elfinder\ElFinder; | @@ -56,7 +56,7 @@ use mihaildev\elfinder\ElFinder; | ||
| 56 | 'template'=>'education', | 56 | 'template'=>'education', |
| 57 | 'item_id'=> $user->id, | 57 | 'item_id'=> $user->id, |
| 58 | 'model'=>'common\models\User', | 58 | 'model'=>'common\models\User', |
| 59 | - 'language'=>'0' | 59 | + 'language'=>'ru' |
| 60 | ]); ?> | 60 | ]); ?> |
| 61 | 61 | ||
| 62 | 62 |
frontend/views/site/index.php
| 1 | <?php | 1 | <?php |
| 2 | 2 | ||
| 3 | use \yii\helpers\Html; | 3 | use \yii\helpers\Html; |
| 4 | - | ||
| 5 | -/* @var $this yii\web\View */ | 4 | +use \common\models\Specialization; |
| 5 | +/** | ||
| 6 | + * @var $this yii\web\View | ||
| 7 | + * @var $specializations common\models\Specialization | ||
| 8 | + */ | ||
| 6 | 9 | ||
| 7 | $this->title = 'My Yii Application'; | 10 | $this->title = 'My Yii Application'; |
| 8 | ?> | 11 | ?> |
| @@ -49,83 +52,29 @@ $this->title = 'My Yii Application'; | @@ -49,83 +52,29 @@ $this->title = 'My Yii Application'; | ||
| 49 | <div class="menu-two-wrapp-title">Специализация работ по исполнителям</div> | 52 | <div class="menu-two-wrapp-title">Специализация работ по исполнителям</div> |
| 50 | <div class="menu-two-wrapp" style="background: url('/images/menu-pic-1.jpg') 100% 100% no-repeat"> | 53 | <div class="menu-two-wrapp" style="background: url('/images/menu-pic-1.jpg') 100% 100% no-repeat"> |
| 51 | <ul class="content-menu-first"> | 54 | <ul class="content-menu-first"> |
| 52 | - <li data-img="/images/menu-pic-1-2.jpg"> | ||
| 53 | - <span data-menu-bg="#bb0f3f" style="background: #bb0f3f"></span><a href="#">Жилые</a> | ||
| 54 | - <ul> | ||
| 55 | - <li> | ||
| 56 | - <a href="#">Жилые дома</a> | ||
| 57 | - <ul> | ||
| 58 | - <li><a href="#">Дизайн</a></li> | ||
| 59 | - <li> | ||
| 60 | - <a href="#">Разработка градостроительной документации</a> | ||
| 61 | - <ul> | ||
| 62 | - <li><a href="#">Архитекторы</a></li> | ||
| 63 | - <li><a href="#">Junior-архитекторы</a></li> | ||
| 64 | - </ul> | ||
| 65 | - </li> | ||
| 66 | - <li><a href="#">Проектирование объектов архитектуры</a></li> | ||
| 67 | - <li><a href="#">Инжиниринговая деятельность в сфере строительства</a> | ||
| 68 | - <ul> | ||
| 69 | - <li><a href="#">йййййй</a></li> | ||
| 70 | - <li><a href="#">ййййййййййй</a></li> | ||
| 71 | - </ul> | ||
| 72 | - </li> | ||
| 73 | - <li><a href="#">Анимация и реклама</a></li> | ||
| 74 | - </ul> | ||
| 75 | - </li> | ||
| 76 | - <li><a href="#">Виллы</a></li> | ||
| 77 | - <li><a href="#">Коттеджи</a></li> | ||
| 78 | - <li><a href="#">Гостиницы</a></li> | ||
| 79 | - <li> | ||
| 80 | - <a href="#">Базы отдыха</a> | ||
| 81 | - <ul> | ||
| 82 | - <li><a href="#">2---2</a></li> | ||
| 83 | - <li><a href="#">2---3</a></li> | ||
| 84 | - <li><a href="#">2---4</a></li> | ||
| 85 | - </ul> | ||
| 86 | - </li> | ||
| 87 | - <li><a href="#">Таунхаусы</a></li> | ||
| 88 | - <li><a href="#">Квартиры</a></li> | ||
| 89 | - <li><a href="#">Квартиры</a></li> | ||
| 90 | - <li><a href="#">Квартиры</a></li> | ||
| 91 | - </ul> | ||
| 92 | - </li> | ||
| 93 | - <li data-img="/images/menu-pic-1.jpg"> | ||
| 94 | - <span data-menu-bg="#ea640b" style="background: #ea640b"></span><a href="#">Офисные</a> | ||
| 95 | - <ul> | ||
| 96 | - <li> | ||
| 97 | - <a href="#">Коттеджи</a> | ||
| 98 | - <ul> | ||
| 99 | - <li><a href="#">1---1</a></li> | ||
| 100 | - <li> | ||
| 101 | - <a href="#">1---2</a> | ||
| 102 | - <ul> | ||
| 103 | - <li><a href="#">Архитекторы</a></li> | ||
| 104 | - <li><a href="#">Junior-архитекторы</a></li> | ||
| 105 | - </ul> | ||
| 106 | - </li> | ||
| 107 | - <li><a href="#">1---3</a></li> | ||
| 108 | - <li><a href="#">1---4</a></li> | ||
| 109 | - </ul> | ||
| 110 | - </li> | ||
| 111 | - <li><a href="#">Гостиницы</a></li> | ||
| 112 | - <li> | ||
| 113 | - <a href="#">Базы отдыха</a> | ||
| 114 | - <ul> | ||
| 115 | - <li><a href="#">2---2</a></li> | ||
| 116 | - <li><a href="#">2---3</a></li> | ||
| 117 | - <li><a href="#">2---4</a></li> | ||
| 118 | - </ul> | ||
| 119 | - </li> | ||
| 120 | - </ul> | ||
| 121 | - </li> | ||
| 122 | - <li data-img="/images/menu-pic-1-2.jpg"><span data-menu-bg="#f7a901" style="background: #f7a901"></span><a href="#">Торговые</a></li> | ||
| 123 | - <li data-img="/images/menu-pic-1.jpg"><span data-menu-bg="#53a827" style="background: #53a827"></span><a href="#">Мосты</a></li> | ||
| 124 | - <li data-img="/images/menu-pic-1-2.jpg"><span data-menu-bg="#018232" style="background: #018232"></span><a href="#">Дороги</a></li> | ||
| 125 | - <li data-img="/images/menu-pic-1.jpg"><span data-menu-bg="#02857d" style="background: #02857d"></span><a href="#">Сооружения</a></li> | ||
| 126 | - <li data-img="/images/menu-pic-1-2.jpg"><span data-menu-bg="#019abf" style="background: #019abf"></span><a href="#">Склады</a></li> | ||
| 127 | - <li data-img="/images/menu-pic-1.jpg"><span data-menu-bg="#116da8" style="background: #116da8"></span><a href="#">Заводы</a></li> | ||
| 128 | - <li data-img="/images/menu-pic-1-2.jpg"><span data-menu-bg="#413e7f" style="background: #413e7f"></span><a href="#">Разное</a></li> | 55 | + <?php foreach($specializations as $specialization):?> |
| 56 | + <li data-img="<?= $specialization->image?>"> | ||
| 57 | + <span data-menu-bg="<?= $specialization->background ?>" style="background: <?= $specialization->background ?>"></span><a href="#"><?= $specialization->specialization_name?></a> | ||
| 58 | + <ul> | ||
| 59 | + <?php foreach($specialization->children as $child_first):?> | ||
| 60 | + | ||
| 61 | + <?php if($child_first instanceof Specialization):?> | ||
| 62 | + <li> | ||
| 63 | + <a href="#"><?= $child_first->specialization_name?></a> | ||
| 64 | + <ul> | ||
| 65 | + <?php foreach($child_first->children as $child_second):?> | ||
| 66 | + <?php if($child_first instanceof Specialization): ?> | ||
| 67 | + <li><a href="#"><?= $child_second->specialization_name?></a></li> | ||
| 68 | + <?php endif;?> | ||
| 69 | + <?php endforeach; ?> | ||
| 70 | + </ul> | ||
| 71 | + </li> | ||
| 72 | + <?php endif; ?> | ||
| 73 | + <?php endforeach; ?> | ||
| 74 | + | ||
| 75 | + </ul> | ||
| 76 | + </li> | ||
| 77 | + <?php endforeach; ?> | ||
| 129 | </ul> | 78 | </ul> |
| 130 | </div> | 79 | </div> |
| 131 | </div> | 80 | </div> |