Example #1
0
 /**
  * @descrpition 单篇文章展示
  * @return Ambigous
  */
 public function main()
 {
     $articleId = $this->param['aid'];
     if (empty($articleId)) {
         View::showErrorMessage(GAME_URL, '参数错误');
     }
     //获取文章信息
     $article = ArticleBusiness::getArticle($articleId);
     if (empty($article)) {
         View::showErrorMessage(GAME_URL, '内容丢掉了-.-');
     }
     $article['author'] = $article['author'];
     $article['title'] = $article['title'];
     $article['description'] = $article['description'];
     $article['ctime'] = date('Y-m-d H:i:s', $article['ctime']);
     $article['tag'] = explode('|', $article['tag']);
     //        $article['content'] = htmlspecialchars_decode($article['content']);
     //        preg_match_all("/\[code\](.*?)\[\/code\]/s",  $article['content'], $match);
     //
     //        $article['content'] =  preg_replace("/\[code\](.*?)\[\/code\]/s", htmlspecialchars('${1}'), $article['content']);
     //获取该文章的评论
     $commentList = CommentBusiness::getCommentByAid($this->param['aid']);
     $commentList = Func::arrayKey($commentList);
     //将评论二级分类
     foreach ($commentList as $key => $comment) {
         if ($comment['cid'] != 0) {
             $commentList[$comment['cid']]['son'][] = $comment;
             unset($commentList[$key]);
         }
     }
     //获取该分类下热门文章
     $articleHotList = ArticleBusiness::getHotListByMid($article['mid']);
     foreach ($articleHotList as $k => $a) {
         $articleHotList[$k]['title'] = mb_substr($a['title'], 0, 30, 'UTF-8') . '...';
     }
     //获取该分类下最新评论
     $commentNewList = CommentBusiness::getNewListByMid($article['mid']);
     foreach ($commentNewList as $key => $comment) {
         $commentNewList[$key]['content'] = mb_substr($commentNewList[$key]['content'], 0, 30, 'UTF-8') . '...';
     }
     //获取Tag
     $tags = TagBusiness::getRandList(ParamConstant::PARAM_TAG_LIST_NUM);
     //对文章进行处理,代码部分特殊显示.
     $article['content'] = preg_replace('/\\[code\\]/s', '<pre class="prettyprint linenums">', $article['content']);
     $article['content'] = preg_replace('/\\[\\/code\\]/s', '</pre>', $article['content']);
     //SEO的title,keywords,description
     $seo_title = $article['seo_title'];
     $seo_description = $article['seo_description'];
     $seo_keywords = $article['seo_keywords'];
     //文章的点击数+1
     ArticleBusiness::clicks($articleId);
     View::assign('seo_title', $seo_title);
     View::assign('seo_description', $seo_description);
     View::assign('seo_keywords', $seo_keywords);
     View::assign('tags', $tags);
     View::assign('commentList', $commentList);
     View::assign('commentNewList', $commentNewList);
     View::assign('articleHotList', $articleHotList);
     View::assign('article', $article);
     View::showFrontTpl('article');
 }