public function actionSearch() { if (Yii::app()->getRequest()->getQuery('SearchForm')) { $form = new SearchForm(); $form->setAttributes(Yii::app()->getRequest()->getQuery('SearchForm')); if ($form->validate()) { $category = $form->category ? StoreCategory::model()->findByPk($form->category) : null; $this->render('search', ['category' => $category, 'searchForm' => $form, 'dataProvider' => $this->productRepository->search($form->q, $form->category)]); } } }
public function actionSearch() { if (!Yii::app()->getRequest()->getQuery('SearchForm')) { throw new CHttpException(404); } $form = new SearchForm(); $form->setAttributes(Yii::app()->getRequest()->getQuery('SearchForm')); if ($form->validate()) { $category = $form->category ? StoreCategory::model()->findByPk($form->category) : null; $this->render('search', ['category' => $category, 'searchForm' => $form, 'dataProvider' => $this->productRepository->getByFilter($this->attributeFilter->getMainAttributesForSearchFromQuery(Yii::app()->getRequest(), [AttributeFilter::MAIN_SEARCH_PARAM_NAME => $form->q]), $this->attributeFilter->getEavAttributesForSearchFromQuery(Yii::app()->getRequest()))]); } }
/** * Show all books. */ public function actionList() { $criteria = new CDbCriteria(); $criteria->with = 'author'; $searchForm = new SearchForm(); if (isset($_POST['SearchForm'])) { $searchForm->setAttributes($_POST['SearchForm']); $criteria = $searchForm->apllyFilter($criteria); } $pages = new CPagination(Books::model()->count()); $pages->applyLimit($criteria); $sort = new CSort('Books'); $sort->attributes = array('name', 'date', 'date_update', 'author' => array('asc' => 'author.lastname, author.firstname', 'desc' => 'author.lastname DESC, author.firstname DESC', 'label' => 'Автор')); $sort->defaultOrder = 'name'; $sort->applyOrder($criteria); $books = Books::model()->findAll($criteria); $formWidget = $this->createWidget('FormWindow'); $formWidget->afterClose = '$("#ui-datepicker-div").remove();$("#content").load("#");'; $formWidget->run(); $this->renderAjax('list', array('pages' => $pages, 'models' => $books, 'sort' => $sort, 'searchForm' => $searchForm)); }
public function actionSearch() { if (!Yii::app()->getRequest()->getQuery('SearchForm')) { throw new CHttpException(404); } $form = new SearchForm(); $form->setAttributes(Yii::app()->getRequest()->getQuery('SearchForm')); if ($form->validate()) { $category = $form->category ? StoreCategory::model()->findByPk($form->category) : null; $countries['list'] = []; $countries['checked'] = []; $price['minValue'] = []; $price['maxValue'] = []; //$countries['list'] = $this->productRepository->getCountriesFilter($form->q); if (Yii::app()->request->getQuery('strana')) { foreach (Yii::app()->request->getQuery('strana') as $item) { $countries['checked'] += [$item => $item]; } } $price = $this->productRepository->getPricesFilter($form->q); if (Yii::app()->request->getQuery('minPrice')) { $price['minValue'] = Yii::app()->request->getQuery('minPrice'); } if (Yii::app()->request->getQuery('maxPrice')) { $price['maxValue'] = Yii::app()->request->getQuery('maxPrice'); } $this->render('search', ['category' => $category, 'searchForm' => $form, 'price' => $price, 'countries' => $countries, 'dataProvider' => $this->productRepository->getByFilter($this->attributeFilter->getMainAttributesForSearchFromQuery(Yii::app()->getRequest(), [AttributeFilter::MAIN_SEARCH_PARAM_NAME => $form->q]), $this->attributeFilter->getEavAttributesForSearchFromQuery(Yii::app()->getRequest()))]); } else { if ($form->category) { $category = StoreCategory::model()->findByPk($form->category); $this->redirect('/store/' . $category->type); } } }