Commit cda2c1c964dfe19fba7ddffe90f03161e1801818
1 parent
dafc9daf
add yii jquery
Showing
10 changed files
with
310 additions
and
80 deletions
Show diff stats
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace backend\controllers; | ||
| 4 | + | ||
| 5 | +use yii\base\Controller; | ||
| 6 | +use yii\filters\VerbFilter; | ||
| 7 | + | ||
| 8 | +class CurrencyController extends Controller{ | ||
| 9 | + /** | ||
| 10 | + * @inheritdoc | ||
| 11 | + */ | ||
| 12 | + public function behaviors() | ||
| 13 | + { | ||
| 14 | + return [ | ||
| 15 | + 'verbs' => [ | ||
| 16 | + 'class' => VerbFilter::className(), | ||
| 17 | + 'actions' => [ | ||
| 18 | + 'delete' => ['POST'], | ||
| 19 | + ], | ||
| 20 | + ], | ||
| 21 | + ]; | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + /** | ||
| 25 | + * Lists all Specialization models. | ||
| 26 | + * @return mixed | ||
| 27 | + */ | ||
| 28 | + public function actionIndex() | ||
| 29 | + { | ||
| 30 | + return $this->render('index', [ | ||
| 31 | + | ||
| 32 | + ]); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + | ||
| 36 | +} | ||
| 0 | \ No newline at end of file | 37 | \ No newline at end of file |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace common\models; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * This is the model class for table "vacancy_specialization". | ||
| 9 | + * | ||
| 10 | + * @property integer $vacancy_specialization_id | ||
| 11 | + * @property integer $vacancy_id | ||
| 12 | + * @property integer $specialization_id | ||
| 13 | + * | ||
| 14 | + * @property Specialization $specialization | ||
| 15 | + * @property Vacancy $vacancy | ||
| 16 | + */ | ||
| 17 | +class VacancySpecialization extends \yii\db\ActiveRecord | ||
| 18 | +{ | ||
| 19 | + /** | ||
| 20 | + * @inheritdoc | ||
| 21 | + */ | ||
| 22 | + public static function tableName() | ||
| 23 | + { | ||
| 24 | + return 'vacancy_specialization'; | ||
| 25 | + } | ||
| 26 | + | ||
| 27 | + /** | ||
| 28 | + * @inheritdoc | ||
| 29 | + */ | ||
| 30 | + public function rules() | ||
| 31 | + { | ||
| 32 | + return [ | ||
| 33 | + [['vacancy_id', 'specialization_id'], 'integer'], | ||
| 34 | + [['specialization_id'], 'exist', 'skipOnError' => true, 'targetClass' => Specialization::className(), 'targetAttribute' => ['specialization_id' => 'specialization_id']], | ||
| 35 | + [['vacancy_id'], 'exist', 'skipOnError' => true, 'targetClass' => Vacancy::className(), 'targetAttribute' => ['vacancy_id' => 'vacancy_id']], | ||
| 36 | + ]; | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * @inheritdoc | ||
| 41 | + */ | ||
| 42 | + public function attributeLabels() | ||
| 43 | + { | ||
| 44 | + return [ | ||
| 45 | + 'vacancy_specialization_id' => 'Vacancy Specialization ID', | ||
| 46 | + 'vacancy_id' => 'Vacancy ID', | ||
| 47 | + 'specialization_id' => 'Specialization ID', | ||
| 48 | + ]; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + /** | ||
| 52 | + * @return \yii\db\ActiveQuery | ||
| 53 | + */ | ||
| 54 | + public function getSpecialization() | ||
| 55 | + { | ||
| 56 | + return $this->hasOne(Specialization::className(), ['specialization_id' => 'specialization_id']); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * @return \yii\db\ActiveQuery | ||
| 61 | + */ | ||
| 62 | + public function getVacancy() | ||
| 63 | + { | ||
| 64 | + return $this->hasOne(Vacancy::className(), ['vacancy_id' => 'vacancy_id']); | ||
| 65 | + } | ||
| 66 | +} |
console/migrations/m160312_143616_project_add_field_total_budget.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\db\Migration; | ||
| 4 | + | ||
| 5 | +class m160312_143616_project_add_field_total_budget extends Migration | ||
| 6 | +{ | ||
| 7 | + public function up() | ||
| 8 | + { | ||
| 9 | + $this->addColumn('{{%project}}', 'total_budget', $this->integer()); | ||
| 10 | + } | ||
| 11 | + | ||
| 12 | + public function down() | ||
| 13 | + { | ||
| 14 | + $this->dropColumn('{{%project}}', 'total_budget'); | ||
| 15 | + | ||
| 16 | + } | ||
| 17 | +} |
frontend/controllers/CompanyController.php
| @@ -8,6 +8,8 @@ use common\models\Gallery; | @@ -8,6 +8,8 @@ use common\models\Gallery; | ||
| 8 | use common\models\Portfolio; | 8 | use common\models\Portfolio; |
| 9 | use common\models\PortfolioSpecialization; | 9 | use common\models\PortfolioSpecialization; |
| 10 | use common\models\Team; | 10 | use common\models\Team; |
| 11 | +use common\models\Vacancy; | ||
| 12 | +use common\models\VacancySpecialization; | ||
| 11 | use Yii; | 13 | use Yii; |
| 12 | use yii\data\ActiveDataProvider; | 14 | use yii\data\ActiveDataProvider; |
| 13 | use yii\data\ArrayDataProvider; | 15 | use yii\data\ArrayDataProvider; |
| @@ -285,9 +287,28 @@ class CompanyController extends Controller | @@ -285,9 +287,28 @@ class CompanyController extends Controller | ||
| 285 | $company = User::findOne($company_id); | 287 | $company = User::findOne($company_id); |
| 286 | $vacancy = $company->getVacancies()->where(['link' => $link])->with(['employments'])->one(); | 288 | $vacancy = $company->getVacancies()->where(['link' => $link])->with(['employments'])->one(); |
| 287 | 289 | ||
| 290 | + | ||
| 291 | + $specialization_id = $vacancy->getSpecializations()->select('specialization_id')->column(); | ||
| 292 | + | ||
| 293 | + $vacancy_id = VacancySpecialization::find()->where(['specialization_id'=>$specialization_id])->select('vacancy_id')->column(); | ||
| 294 | + | ||
| 295 | + | ||
| 296 | + $similar_vacancies = Vacancy::find() | ||
| 297 | + ->where([ | ||
| 298 | + 'city' => $vacancy->city, | ||
| 299 | + 'vacancy_id' => $vacancy_id | ||
| 300 | + ]) | ||
| 301 | + ->andFilterWhere([ | ||
| 302 | + '<>', | ||
| 303 | + 'vacancy_id', | ||
| 304 | + $vacancy->vacancy_id | ||
| 305 | + ])->limit(3) | ||
| 306 | + ->all(); | ||
| 307 | + | ||
| 288 | return $this->render('vacancy-view',[ | 308 | return $this->render('vacancy-view',[ |
| 289 | 'company' => $company, | 309 | 'company' => $company, |
| 290 | 'vacancy' => $vacancy, | 310 | 'vacancy' => $vacancy, |
| 311 | + 'similar_vacancies' => $similar_vacancies | ||
| 291 | ]); | 312 | ]); |
| 292 | } | 313 | } |
| 293 | 314 |
frontend/controllers/SearchController.php
| @@ -7,6 +7,7 @@ use common\models\Specialization; | @@ -7,6 +7,7 @@ use common\models\Specialization; | ||
| 7 | use common\models\UserInfo; | 7 | use common\models\UserInfo; |
| 8 | use common\models\Vacancy; | 8 | use common\models\Vacancy; |
| 9 | use frontend\models\SearchPerformerForm; | 9 | use frontend\models\SearchPerformerForm; |
| 10 | +use frontend\models\SearchVacancyForm; | ||
| 10 | use Yii; | 11 | use Yii; |
| 11 | use common\models\LoginForm; | 12 | use common\models\LoginForm; |
| 12 | use frontend\models\PasswordResetRequestForm; | 13 | use frontend\models\PasswordResetRequestForm; |
| @@ -84,31 +85,30 @@ use common\models\Social; | @@ -84,31 +85,30 @@ use common\models\Social; | ||
| 84 | 85 | ||
| 85 | 86 | ||
| 86 | 87 | ||
| 87 | - public function actionPerformer() | ||
| 88 | - { | ||
| 89 | - | ||
| 90 | - | ||
| 91 | - $specializationArray = Specialization::specializationsList(); | ||
| 92 | - | 88 | + public function actionPerformer() |
| 89 | + { | ||
| 90 | + $specialization = Specialization::specializationsList(); | ||
| 93 | 91 | ||
| 92 | + $searchModel = new SearchPerformerForm(); | ||
| 94 | 93 | ||
| 94 | + return $this->render('performer',[ | ||
| 95 | + 'dataProvider' => $searchModel->search(Yii::$app->request->queryParams), | ||
| 96 | + 'specialization' => $specialization, | ||
| 97 | + 'model'=> $searchModel | ||
| 98 | + ]); | ||
| 99 | + } | ||
| 95 | 100 | ||
| 96 | - $searchModel = new SearchPerformerForm(); | 101 | + public function actionVacancy() |
| 102 | + { | ||
| 97 | 103 | ||
| 98 | 104 | ||
| 99 | - return $this->render('performer',[ | ||
| 100 | - 'dataProvider' => $searchModel->search(Yii::$app->request->queryParams), | ||
| 101 | - 'specialization' => $specializationArray, | ||
| 102 | - 'model'=> $searchModel | ||
| 103 | - ]); | ||
| 104 | - } | 105 | + $searchModel = new SearchVacancyForm(); |
| 105 | 106 | ||
| 106 | - public function actionVacancy() | ||
| 107 | - { | 107 | + $specialization = Specialization::specializationsList(); |
| 108 | 108 | ||
| 109 | - $query = Vacancy::find(); | 109 | + $query = $searchModel->search(Yii::$app->request->queryParams); |
| 110 | 110 | ||
| 111 | - $countQuery = clone $query; | 111 | + $countQuery = clone $query; |
| 112 | 112 | ||
| 113 | $pagination = new Pagination([ | 113 | $pagination = new Pagination([ |
| 114 | 'totalCount' => $countQuery->count(), | 114 | 'totalCount' => $countQuery->count(), |
| @@ -116,9 +116,9 @@ use common\models\Social; | @@ -116,9 +116,9 @@ use common\models\Social; | ||
| 116 | ]); | 116 | ]); |
| 117 | 117 | ||
| 118 | $vacancy = $query->offset($pagination->offset) | 118 | $vacancy = $query->offset($pagination->offset) |
| 119 | - ->limit($pagination->limit); | 119 | + ->limit($pagination->limit); |
| 120 | 120 | ||
| 121 | - $provider = new ActiveDataProvider([ | 121 | + $dataProvider = new ActiveDataProvider([ |
| 122 | 'query' => $vacancy, | 122 | 'query' => $vacancy, |
| 123 | 'pagination' => false, | 123 | 'pagination' => false, |
| 124 | 'sort' => [ | 124 | 'sort' => [ |
| @@ -129,10 +129,13 @@ use common\models\Social; | @@ -129,10 +129,13 @@ use common\models\Social; | ||
| 129 | ], | 129 | ], |
| 130 | ]); | 130 | ]); |
| 131 | 131 | ||
| 132 | - return $this->render('vacancy', [ | ||
| 133 | - 'provider' => $provider, | ||
| 134 | - 'pagination' => $pagination, | 132 | + return $this->render('vacancy',[ |
| 133 | + 'dataProvider' => $dataProvider, | ||
| 134 | + 'specialization' => $specialization, | ||
| 135 | + 'model'=> $searchModel, | ||
| 136 | + 'pagination'=> $pagination | ||
| 135 | ]); | 137 | ]); |
| 138 | + | ||
| 136 | } | 139 | } |
| 137 | 140 | ||
| 138 | } | 141 | } |
frontend/models/SearchPerformerForm.php
| @@ -58,21 +58,6 @@ class SearchPerformerForm extends Model | @@ -58,21 +58,6 @@ class SearchPerformerForm extends Model | ||
| 58 | } | 58 | } |
| 59 | 59 | ||
| 60 | /** | 60 | /** |
| 61 | - * Sends an email to the specified email address using the information collected by this model. | ||
| 62 | - * @param string $email the target email address | ||
| 63 | - * @return boolean whether the email was sent | ||
| 64 | - */ | ||
| 65 | - public function sendEmail($email) | ||
| 66 | - { | ||
| 67 | - return Yii::$app->mailer->compose() | ||
| 68 | - ->setTo($email) | ||
| 69 | - ->setFrom([$this->email => $this->name]) | ||
| 70 | - ->setSubject($this->subject) | ||
| 71 | - ->setTextBody($this->body) | ||
| 72 | - ->send(); | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | - /** | ||
| 76 | * Creates data provider instance with search query applied | 61 | * Creates data provider instance with search query applied |
| 77 | * | 62 | * |
| 78 | * @param array $params | 63 | * @param array $params |
| @@ -92,10 +77,7 @@ class SearchPerformerForm extends Model | @@ -92,10 +77,7 @@ class SearchPerformerForm extends Model | ||
| 92 | 77 | ||
| 93 | 78 | ||
| 94 | $dataProvider = new ActiveDataProvider([ | 79 | $dataProvider = new ActiveDataProvider([ |
| 95 | - 'query' => $query, | ||
| 96 | - 'pagination' => [ | ||
| 97 | - 'pageSize' => 3, | ||
| 98 | - ], | 80 | + 'query' => $query |
| 99 | ]); | 81 | ]); |
| 100 | 82 | ||
| 101 | $dataProvider->setSort([ | 83 | $dataProvider->setSort([ |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace frontend\models; | ||
| 4 | + | ||
| 5 | +use common\models\Portfolio; | ||
| 6 | +use common\models\User; | ||
| 7 | +use common\models\Vacancy; | ||
| 8 | +use Yii; | ||
| 9 | +use yii\base\Model; | ||
| 10 | +use yii\data\ActiveDataProvider; | ||
| 11 | +use yii\helpers\ArrayHelper; | ||
| 12 | + | ||
| 13 | +/** | ||
| 14 | + * ContactForm is the model behind the contact form. | ||
| 15 | + */ | ||
| 16 | +class SearchVacancyForm extends Model | ||
| 17 | +{ | ||
| 18 | + public $city; | ||
| 19 | + public $specialization; | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + | ||
| 23 | + /** | ||
| 24 | + * @inheritdoc | ||
| 25 | + */ | ||
| 26 | + public function rules() | ||
| 27 | + { | ||
| 28 | + return [ | ||
| 29 | + [['specialization','city'], 'safe'], | ||
| 30 | + | ||
| 31 | + ]; | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + /** | ||
| 35 | + * @inheritdoc | ||
| 36 | + */ | ||
| 37 | + public function attributeLabels() | ||
| 38 | + { | ||
| 39 | + return [ | ||
| 40 | + 'city' => 'Город', | ||
| 41 | + 'specialization' => 'Специализация' | ||
| 42 | + ]; | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + /** | ||
| 46 | + * Creates data provider instance with search query applied | ||
| 47 | + * | ||
| 48 | + * @param array $params | ||
| 49 | + * | ||
| 50 | + * @return ActiveDataProvider | ||
| 51 | + */ | ||
| 52 | + public function search($params) | ||
| 53 | + { | ||
| 54 | + | ||
| 55 | + $this->load($params); | ||
| 56 | + | ||
| 57 | + $query = Vacancy::find() | ||
| 58 | + ->distinct(true) | ||
| 59 | + ->joinWith(['specializations']); | ||
| 60 | + | ||
| 61 | + | ||
| 62 | + | ||
| 63 | + | ||
| 64 | + | ||
| 65 | + | ||
| 66 | + if (!$this->validate()) { | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + // uncomment the following line if you do not want to any records when validation fails | ||
| 70 | + // $query->where('0=1'); | ||
| 71 | + return $query; | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + $query->andFilterWhere([ | ||
| 75 | + 'vacancy.city' => $this->city, | ||
| 76 | + 'specialization.specialization_id' => $this->specialization, | ||
| 77 | + ]); | ||
| 78 | + | ||
| 79 | + | ||
| 80 | + | ||
| 81 | + | ||
| 82 | + | ||
| 83 | + return $query; | ||
| 84 | + } | ||
| 85 | +} | ||
| 86 | + |
frontend/views/company/vacancy-view.php
| @@ -9,8 +9,9 @@ | @@ -9,8 +9,9 @@ | ||
| 9 | use common\models\Vacancy; | 9 | use common\models\Vacancy; |
| 10 | use yii\helpers\ArrayHelper; | 10 | use yii\helpers\ArrayHelper; |
| 11 | use yii\helpers\Html; | 11 | use yii\helpers\Html; |
| 12 | +use yii\helpers\Url; | ||
| 12 | 13 | ||
| 13 | - $this->params[ 'company' ] = $company; | 14 | +$this->params[ 'company' ] = $company; |
| 14 | $this->title = 'My Yii Application'; | 15 | $this->title = 'My Yii Application'; |
| 15 | ?> | 16 | ?> |
| 16 | <div class="performer-vacancy-list style"> | 17 | <div class="performer-vacancy-list style"> |
| @@ -65,20 +66,27 @@ | @@ -65,20 +66,27 @@ | ||
| 65 | <div class="performance-vacancy-similar-title style">Похожие вакансии</div> | 66 | <div class="performance-vacancy-similar-title style">Похожие вакансии</div> |
| 66 | <div class="style"> | 67 | <div class="style"> |
| 67 | 68 | ||
| 69 | + <?php foreach($similar_vacancies as $similar_vacancy):?> | ||
| 68 | <div class="performance-vacancy-similar-blocks-wr style"> | 70 | <div class="performance-vacancy-similar-blocks-wr style"> |
| 69 | - <a href="#" class="performer-vacant-reclam-bl-title">Инженер-технолог строитель</a> | ||
| 70 | - <div class="performer-vacant-reclam-bl-title-two">Бровары, ищем в Киеве. 21 декабря 2015. 8000 грн.</div> | ||
| 71 | - </div> | ||
| 72 | 71 | ||
| 73 | - <div class="performance-vacancy-similar-blocks-wr style"> | ||
| 74 | - <a href="#" class="performer-vacant-reclam-bl-title">Разнорабочий (в Бровары)</a> | ||
| 75 | - <div class="performer-vacant-reclam-bl-title-two">Наш Дом. Киев.</div> | ||
| 76 | - </div> | 72 | + <?= Html::a($similar_vacancy->name, Url::toRoute([ |
| 73 | + 'company/vacancy-view', | ||
| 74 | + 'company_id' => $similar_vacancy->user_id, | ||
| 75 | + 'link' => $similar_vacancy->link, | ||
| 76 | + ]), [ 'class' => 'performer-vacant-reclam-bl-title' ]) ?> | ||
| 77 | 77 | ||
| 78 | - <div class="performance-vacancy-similar-blocks-wr style"> | ||
| 79 | - <a href="#" class="performer-vacant-reclam-bl-title">Замерщик по мебели (в Бровары)</a> | ||
| 80 | - <div class="performer-vacant-reclam-bl-title-two">Наш Дом. Киев. 5000 грн.</div> | 78 | + <div class="performer-vacant-reclam-bl-title-two"><?= $similar_vacancy->city ?>. <?= \Yii::$app->formatter->asDatetime($similar_vacancy->date_add, 'Y-MM-dd') ?>. |
| 79 | + <?php | ||
| 80 | + if(!empty( $similar_vacancy->salary )) { | ||
| 81 | + ?> | ||
| 82 | + <?= $similar_vacancy->salary ?> | ||
| 83 | + <?= $similar_vacancy->salaryCurrency->label ?> | ||
| 84 | + <?php | ||
| 85 | + } | ||
| 86 | + ?></div> | ||
| 81 | </div> | 87 | </div> |
| 88 | + <?php endforeach;?> | ||
| 89 | + | ||
| 82 | 90 | ||
| 83 | </div> | 91 | </div> |
| 84 | </div> | 92 | </div> |
| 85 | \ No newline at end of file | 93 | \ No newline at end of file |
frontend/views/search/vacancy.php
| 1 | <?php | 1 | <?php |
| 2 | 2 | ||
| 3 | +use kartik\select2\Select2; | ||
| 3 | use \yii\helpers\Html; | 4 | use \yii\helpers\Html; |
| 5 | +use yii\web\JsExpression; | ||
| 6 | +use yii\widgets\ActiveForm; | ||
| 4 | use yii\widgets\LinkPager; | 7 | use yii\widgets\LinkPager; |
| 5 | use yii\widgets\ListView; | 8 | use yii\widgets\ListView; |
| 6 | 9 | ||
| @@ -15,36 +18,41 @@ $this->title = 'My Yii Application'; | @@ -15,36 +18,41 @@ $this->title = 'My Yii Application'; | ||
| 15 | <div class="box-all"> | 18 | <div class="box-all"> |
| 16 | <div class="performer-vacancy-sidebar-left-wr vacancy-general-sidebar-wr"> | 19 | <div class="performer-vacancy-sidebar-left-wr vacancy-general-sidebar-wr"> |
| 17 | <div class="left-search-work"> | 20 | <div class="left-search-work"> |
| 18 | - <form action="" class="search-work-form"> | ||
| 19 | - <div class="blocks-check-list-wrapp"> | ||
| 20 | - <div class="blocks-check-title"><label for="theme-1">Город</label></div> | ||
| 21 | - <select id="theme-1"> | ||
| 22 | - <option selected value="">Любой</option> | ||
| 23 | - <option value="">Киев</option> | ||
| 24 | - <option value="">Житомир</option> | ||
| 25 | - <option value="">Львов</option> | ||
| 26 | - <option value="">Киев</option> | ||
| 27 | - <option value="">Житомир</option> | ||
| 28 | - <option value="">Львов</option> | ||
| 29 | - </select> | ||
| 30 | - </div> | ||
| 31 | - <div class="blocks-check-list-wrapp"> | ||
| 32 | - <div class="blocks-check-title"><label for="theme-2">Специализация</label></div> | ||
| 33 | - <select id="theme-2"> | ||
| 34 | - <option selected value="">Любая</option> | ||
| 35 | - <option value="">Киев</option> | ||
| 36 | - <option value="">Житомир</option> | ||
| 37 | - <option value="">Львов</option> | ||
| 38 | - <option value="">Киев</option> | ||
| 39 | - <option value="">Житомир</option> | ||
| 40 | - <option value="">Львов</option> | ||
| 41 | - </select> | ||
| 42 | - </div> | 21 | + <?php |
| 22 | + $form = ActiveForm::begin(['options'=>['class'=>'search-work-form'],'action'=>[''], 'method'=>'get']); | ||
| 23 | + ?> | ||
| 24 | + | ||
| 25 | + <?= | ||
| 26 | + $form->field($model, 'city') | ||
| 27 | + ->widget(Select2::classname(), [ | ||
| 28 | + 'options' => [ 'placeholder' => 'Выбор города ...' ], | ||
| 29 | + 'pluginOptions' => [ | ||
| 30 | + 'allowClear' => true, | ||
| 31 | + 'minimumInputLength' => 3, | ||
| 32 | + 'ajax' => [ | ||
| 33 | + 'url' => \yii\helpers\Url::to([ 'site/city' ]), | ||
| 34 | + 'dataType' => 'json', | ||
| 35 | + 'data' => new JsExpression('function(params) { return {q:params.term}; }'), | ||
| 36 | + ], | ||
| 37 | + 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'), | ||
| 38 | + 'templateResult' => new JsExpression('function(city) { return city.text; }'), | ||
| 39 | + 'templateSelection' => new JsExpression('function (city) { return city.text; }'), | ||
| 40 | + ], | ||
| 41 | + ]); | ||
| 42 | + ?> | ||
| 43 | + | ||
| 44 | + <?= | ||
| 45 | + $form->field($model, 'specialization') | ||
| 46 | + ->dropDownList($specialization, ['prompt' => 'Любая']); | ||
| 47 | + ?> | ||
| 48 | + | ||
| 43 | 49 | ||
| 44 | <div class="blocks-check-list-submit"> | 50 | <div class="blocks-check-list-submit"> |
| 45 | - <input type="submit" value="Найти"/> | 51 | + <?= Html::submitInput('Найти') ?> |
| 46 | </div> | 52 | </div> |
| 47 | - </form> | 53 | + <?php |
| 54 | + $form->end(); | ||
| 55 | + ?> | ||
| 48 | </div> | 56 | </div> |
| 49 | </div> | 57 | </div> |
| 50 | <div class="section-box performer-vacancy-vacant-wr"> | 58 | <div class="section-box performer-vacancy-vacant-wr"> |
| @@ -53,7 +61,7 @@ $this->title = 'My Yii Application'; | @@ -53,7 +61,7 @@ $this->title = 'My Yii Application'; | ||
| 53 | 61 | ||
| 54 | <?= | 62 | <?= |
| 55 | ListView::widget([ | 63 | ListView::widget([ |
| 56 | - 'dataProvider' => $provider, | 64 | + 'dataProvider' => $dataProvider, |
| 57 | 'itemView' => '_vacancy_list_view', | 65 | 'itemView' => '_vacancy_list_view', |
| 58 | 'summary' => false, | 66 | 'summary' => false, |
| 59 | ]); | 67 | ]); |