/** * 首页 * */ public function actionIndex() { $model = new Post(); $criteria = new CDbCriteria(); $condition = "1=1"; $title = trim($this->_request->getParam('title')); $catalogId = intval($this->_request->getParam('catalogId')); $title && ($condition .= ' AND title LIKE \'%' . $title . '%\''); $catalogId && ($condition .= ' AND catalog_id= ' . $catalogId); $criteria->condition = $condition; $criteria->order = 't.id DESC'; $criteria->with = array('catalog'); $count = $model->count($criteria); $pages = new CPagination($count); $pages->pageSize = 10; //根据title,catelogId,titleAlias查询 $pageParams = $this->buildCondition($_GET, array('title', 'catalogId')); $pages->params = is_array($pageParams) ? $pageParams : array(); $criteria->limit = $pages->pageSize; $criteria->offset = $pages->currentPage * $pages->pageSize; $result = $model->findAll($criteria); //推荐位 $recom_list = RecommendPosition::model()->findAll('type=:type', array(':type' => $this->_type), array('order' => 'id')); $this->render('index', array('datalist' => $result, 'pagebar' => $pages, 'recom_list' => $recom_list)); }
/** * 判断数据是否存在 * * return \$this->model */ public function loadModel() { if ($this->model === null) { if (isset($_GET['id'])) { $this->model = RecommendPosition::model()->findbyPk($_GET['id']); } if ($this->model === null) { throw new CHttpException(404, Yii::t('common', 'The requested page does not exist.')); } } return $this->model; }
public function run() { $ids = Yii::app()->request->getParam('id'); $command = Yii::app()->request->getParam('command'); empty($ids) && $this->controller->message('error', Yii::t('admin', 'No Select')); if (!is_array($ids)) { $ids = array($ids); } $criteria = new CDbCriteria(); $criteria->addInCondition('id', $ids); switch ($command) { case 'delete': //删除 RecommendPosition::model()->deleteAll($criteria); //同时删除推荐的内容 $criteria_r = new CDbCriteria(); $criteria_r->addInCondition('position_id', $ids); Recommend::model()->deleteAll($criteria_r); break; default: $this->controller->message('error', Yii::t('admin', 'Error Operation')); } $this->controller->message('success', Yii::t('admin', 'Batch Operate Success')); }
/** * 批量操作 * */ public function actionBatch() { if ($this->method() == 'GET') { $command = trim($_GET['command']); $ids = intval($_GET['id']); } else { if ($this->method() == 'POST') { $command = trim($_POST['command']); $ids = $_POST['id']; } else { $this->message('errorBack', Yii::t('admin', 'Only POST Or GET')); } } empty($ids) && $this->message('error', Yii::t('admin', 'No Select')); switch ($command) { case 'sortOrder': //排序 $sortOrder = $_POST['sortOrder']; foreach ((array) $ids as $id) { $recModel = Recommend::model()->find('content_id=:id', array(':id' => $id)); if ($recModel) { $recModel->sort_order = $sortOrder[$id]; $recModel->save(); } } break; case 'Delete': foreach ((array) $ids as $id) { $reModel = RecommendPosition::model()->findByPk($id); if ($reModel) { $reModel->delete(); //同时删除推荐的内容 Recommend::model()->deleteAll('id=' . $id); } } break; case 'unCommend': //取消推荐 $uncommend = $_POST['unCommend']; foreach ((array) $ids as $id) { $recModel = Recommend::model()->find('content_id=:id', array(':id' => $id)); if ($recModel) { $recModel->delete(); } } break; default: throw new CHttpException(404, Yii::t('admin', 'Error Operation')); break; } $this->message('success', Yii::t('admin', 'Batch Operate Success'), $this->createUrl('index')); }