/** * 其他分类需要显示在导航栏的新增方法 * @param string $ctype 其他分类表标识 a:文章分类表,c:商品分类表 * @param int $cid 其他表分类id * @return mixed */ public function addData($ctype, $cid) { // 如果已经存在就不继续执行了 if ($this->find()->where(['ctype' => $ctype, 'cid' => $cid])->one()) { return true; } switch ($ctype) { case 'a': // 文章分类 $this->name = ArticleCat::findOne($cid)->cat_name; $this->url = ''; // 前台还没有做,暂时空起 break; case 'c': // 商品分类 $this->name = Category::findOne($cid)->cat_name; $this->url = ''; // 前台还没有做,暂时空起 break; default: return false; } $this->ctype = $ctype; $this->cid = $cid; $this->type = 'middle'; if ($this->insert(false)) { return true; } return false; }
/** * Lists all Article models. * @return mixed */ public function actionIndex() { if (!$this->is_access('article/index')) { Yii::$app->session->setFlash('error', $this->errorInfo); return $this->redirect($this->redirectUrl); } $query = Article::find(); $request = Yii::$app->request; if (($cat_id = $request->get('cat_id')) > 0) { $query = $query->where('cat_id = :cat_id', [':cat_id' => $cat_id]); } if (!empty($title = $request->get('title'))) { $query = $query->andWhere("title like '%{$title}%'"); } if (($models = $request->get('models')) && $models != '0') { $query = $query->andWhere(['model' => $models]); } $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['article_id' => SORT_DESC]]]); Yii::$app->view->params['meta_title'] = '文章列表'; $ArticleCat = new ArticleCat(); $catList = $ArticleCat->parentNews(); return $this->render('index', ['dataProvider' => $dataProvider, 'catList' => $catList]); }
/** * 分类模型单选框 * @param int $cat_id 分类id */ public function actionHtmlradio($cat_id) { if ($cat_id < 1) { exit; } $model = new ArticleCat(); $list = $model->cat_model($cat_id); $i = 1; $html = ''; foreach ($list as $k => $val) { $checked = $i == 1 ? 'checked' : ''; $html .= '<label><input type="radio" name="models" value="' . $k . '" ' . $checked . ' > ' . $val . '</label> '; $i++; } echo $html; }
/** * 判断显示 * @param string $type * @param integer $id */ public static function isShowInNav($type, $id) { if ($type == 'c') { $tablename = Category::tableName(); } else { $tablename = ArticleCat::tableName(); } $conn = \Yii::$app->getDb(); return $conn->createCommand("SELECT show_in_nav FROM " . $tablename . " WHERE id={$id}")->queryScalar(); }
/** * 更新配置文件的sitemap * @param string $config */ public static function updateConfigSitemap($config, $sm, $domain, $today) { if (!static::updateAll(['value' => serialize($config)], "code='sitemap'")) { return false; } $res = Category::find()->select(['id', 'cat_name'])->orderBy('parent_id')->column(); foreach ($res as $row) { $smi =& new GoogleSitemapItem($domain . UtilD::build_uri('category', [$row['id']], $row['cat_name']), $today, $config['category_changefreq'], $config['category_priority']); $sm->add_item($smi); } $res = ArticleCat::find()->select(['id', 'cat_name'])->where(['cat_type' => 1])->column(); foreach ($res as $row) { $smi =& new GoogleSitemapItem($domain . UtilD::build_uri('article_cat', ['acid' => $row['id']], $row['cat_name']), $today, $config['category_changefreq'], $config['category_priority']); $sm->add_item($smi); } $res = Goods::find()->select(['id', 'goods_name'])->where('is_delete=0')->column(); foreach ($res as $row) { $smi =& new GoogleSitemapItem($domain . UtilD::build_uri('goods', ['gid' => $row['id']], $row['goods_name']), $today, $config['content_changefreq'], $config['content_priority']); $sm->add_item($smi); } //文章 $res = Article::find()->select(['id', 'title', 'file_url', 'open_type'])->where('is_open=1')->column(); foreach ($res as $row) { $article_url = $row['open_type'] != 1 ? UtilD::build_uri('article', ['aid' => $row['id']], $row['title']) : trim($row['file_url']); $smi =& new GoogleSitemapItem($domain . $article_url, $today, $config['content_changefreq'], $config['content_priority']); $sm->add_item($smi); } $sm_file = 'sitemaps.xml'; if ($sm->build($sm_file)) { return true; } else { } }
<input type="submit" onclick="query('<?php echo Yii::$app->urlManager->createUrl(['article/index']); ?> ')" value=" 搜索 " class="button"> </form> </div> <?php Pjax::begin(); ?> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'columns' => [['class' => 'yii\\grid\\CheckboxColumn', 'name' => 'id'], 'article_id', 'title', ['header' => Html::a('文章分类', 'javascript:void(0);'), 'content' => function ($model) { return ArticleCat::findOne($model->cat_id)->cat_name; }], ['header' => Html::a('模型', 'javascript:void(0);'), 'content' => function ($model) { return (new ArticleCat())->modelArray[$model->model]; }], ['header' => Html::a('文章类型', 'javascript:void(0);'), 'content' => function ($model) { $typeList = ['0' => '普通', '1' => '置顶']; return $typeList[$model->article_type]; }], ['header' => Html::a('是否热门', 'javascript:void(0);'), 'content' => function ($model) { if ($model->is_hot == 1) { return Html::img('@web/image/yes.gif', ['onclick' => "setHot(this, {$model->article_id})", 'data-status' => 0]); } return Html::img('@web/image/no.gif', ['onclick' => "setHot(this, {$model->article_id})", 'data-status' => 1]); }], ['header' => Html::a('是否显示', 'javascript:void(0);'), 'content' => function ($model) { if ($model->status == 1) { return Html::img('@web/image/yes.gif', ['onclick' => "setStatus(this, {$model->article_id})", 'data-status' => 0]); } return Html::img('@web/image/no.gif', ['onclick' => "setStatus(this, {$model->article_id})", 'data-status' => 1]);