public function actionIndex($alias = '')
 {
     $filter = array();
     // Список категорий
     $categoryList = ProduceCategory::model()->published()->root()->findAll(array('order' => 't.sort ASC'));
     // Определяем, выбрана или нет категория
     $category = null;
     if (!empty($alias)) {
         // Если выбрана категория
         $category = ProduceCategory::model()->published()->with(array('children' => array('scopes' => 'published', 'order' => 'children.sort ASC'), 'slides' => array('scopes' => 'published', 'order' => 'slides.sort ASC')))->find('t.alias = :alias', array(':alias' => $alias));
         if (!$category) {
             throw new CHttpException(404);
         }
         $page = $category;
     } else {
         // Загружаем страницу "Каталог изделий"
         Yii::import("application.modules.page.models.Page");
         $page = Page::model()->with(array('slides' => array('scopes' => 'published', 'order' => 'slides.sort ASC')))->findByPath("produce");
     }
     // Формируем список товаров с учетом фильтрации
     $model = new ProduceItem('user_search');
     $model->unsetAttributes();
     // Категория
     if (!empty($category)) {
         $model->category_id = $category->id;
     }
     if (isset($_GET['ProduceItem'])) {
         $model->attributes = $_GET['ProduceItem'];
         // Категория
         if (!empty($model->category_id)) {
             $filter['category_id'] = $model->category_id;
         } elseif (!empty($category)) {
             $filter['category_id'] = $category->id;
             $model->category_id = $category->id;
         }
         // Название
         if ($model->title != '') {
             $filter['title'] = $model->title;
         }
         // Производитель
         if (!empty($model->color_id)) {
             $filter['color_id'] = $model->color_id;
         }
     }
     // Поиск товаров
     $dataProvider = $model->user_search();
     // Сохраняем ссылку для возврата
     Yii::app()->user->setState('produceCatalogReturnUrl', $this->_constructReturnUrl('/produce/catalog/index'));
     // Сохраняем данные фильтра в сессии
     Yii::app()->user->setState('produceCatalogFilter', $filter);
     if (Yii::app()->request->isAjaxRequest) {
         // Обновление списка для бесконечной загрузки элементов
         if (isset($_GET['showMore'])) {
             $this->renderPartial('_list_ajax', array('dataProvider' => $dataProvider, 'pageNumber' => (int) Yii::app()->request->getParam('page', 1)));
         } else {
             $this->renderPartial('_list', array('dataProvider' => $dataProvider), false, true);
         }
         Yii::app()->end();
     } else {
         // Вывод каталога
         $this->render('index', array('page' => $page, 'model' => $model, 'dataProvider' => $dataProvider, 'categoryList' => $categoryList, 'sizerVariants' => $sizerVariants));
     }
 }