article.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <?php
  2. /**
  3. * cms文章
  4. *
  5. *
  6. ***/
  7. defined('InShopNC') or exit('Access Invalid!');
  8. class articleControl extends CMSHomeControl{
  9. public function __construct() {
  10. parent::__construct();
  11. Tpl::output('index_sign', 'article');
  12. }
  13. public function indexOp() {
  14. $this->article_listOp();
  15. }
  16. /**
  17. * 文章列表
  18. */
  19. public function article_listOp() {
  20. //获取文章列表
  21. if(empty($_GET['type'])) {
  22. $page_number = 10;
  23. $template_name = 'article_list';
  24. } else {
  25. $page_number = 40;
  26. $template_name = 'article_list.modern';
  27. }
  28. $condition = array();
  29. if(!empty($_GET['class_id'])) {
  30. $condition['article_class_id'] = intval($_GET['class_id']);
  31. }
  32. $condition['article_state'] = self::ARTICLE_STATE_PUBLISHED;
  33. $model_article = Model('cms_article');
  34. $article_list = $model_article->getList($condition, $page_number, 'article_sort asc, article_id desc');
  35. Tpl::output('show_page', $model_article->showpage(2));
  36. Tpl::output('article_list', $article_list);
  37. $this->get_article_sidebar();
  38. Tpl::showpage($template_name);
  39. }
  40. /**
  41. * 文章列表
  42. */
  43. public function article_detailOp() {
  44. $article_id = intval($_GET['article_id']);
  45. if($article_id <= 0) {
  46. showMessage(Language::get('wrong_argument'),'','','error');
  47. }
  48. $model_article = Model('cms_article');
  49. $article_detail = $model_article->getOne(array('article_id'=>$article_id));
  50. if(empty($article_detail)) {
  51. showMessage(Language::get('article_not_exist'), CMS_SITE_URL, '', 'error');
  52. }
  53. if(intval($article_detail['article_state']) !== self::ARTICLE_STATE_PUBLISHED) {
  54. if($this->publisher_type !== self::ARTICLE_TYPE_ADMIN) {
  55. if(empty($_SESSION['member_id']) || $_SESSION['member_id'] != $this->publisher_id) {
  56. showMessage(Language::get('article_not_exist'), CMS_SITE_URL, '', 'error');
  57. }
  58. }
  59. }
  60. //相关文章
  61. $article_link_list = $this->get_article_link_list($article_detail['article_link']);
  62. Tpl::output('article_link_list', $article_link_list);
  63. //相关商品
  64. $article_goods_list = unserialize($article_detail['article_goods']);
  65. Tpl::output('article_goods_list', $article_goods_list);
  66. //计数加1
  67. $model_article->modify(array('article_click'=>array('exp','article_click+1')),array('article_id'=>$article_id));
  68. //文章心情
  69. $article_attitude_list = array();
  70. $article_attitude_list[1] = Language::get('attitude1');
  71. $article_attitude_list[2] = Language::get('attitude2');
  72. $article_attitude_list[3] = Language::get('attitude3');
  73. $article_attitude_list[4] = Language::get('attitude4');
  74. $article_attitude_list[5] = Language::get('attitude5');
  75. $article_attitude_list[6] = Language::get('attitude6');
  76. Tpl::output('article_attitude_list', $article_attitude_list);
  77. //分享
  78. $this->get_share_app_list();
  79. Tpl::output('article_detail', $article_detail);
  80. Tpl::output('detail_object_id', $article_id);
  81. $this->get_article_sidebar();
  82. //seo
  83. Tpl::output('seo_title', $article_detail['article_title']);
  84. Tpl::showpage('article_detail');
  85. }
  86. /**
  87. * 文章评论
  88. */
  89. public function article_comment_detailOp() {
  90. $article_id = intval($_GET['article_id']);
  91. if($article_id <= 0) {
  92. showMessage(Language::get('wrong_argument'),'','','error');
  93. }
  94. $model_article = Model('cms_article');
  95. $article_detail = $model_article->getOne(array('article_id'=>$article_id));
  96. if(empty($article_detail)) {
  97. showMessage(Language::get('article_not_exist'), CMS_SITE_URL, '', 'error');
  98. }
  99. if(intval($article_detail['article_state']) !== self::ARTICLE_STATE_PUBLISHED) {
  100. if($this->publisher_type !== self::ARTICLE_TYPE_ADMIN) {
  101. if(empty($_SESSION['member_id']) || $_SESSION['member_id'] != $this->publisher_id) {
  102. showMessage(Language::get('article_not_exist'), CMS_SITE_URL, '', 'error');
  103. }
  104. }
  105. }
  106. $article_hot_comment = $model_article->getList(array('article_state'=>self::ARTICLE_STATE_PUBLISHED), null, 'article_comment_count desc', '*', 10);
  107. Tpl::output('hot_comment', $article_hot_comment);
  108. Tpl::output('article_detail', $article_detail);
  109. Tpl::output('detail_object_id', $article_id);
  110. Tpl::output('comment_all', 'all');
  111. //推荐文章
  112. $this->get_article_comment();
  113. Tpl::showpage('comment_detail');
  114. }
  115. /**
  116. * 文章列表
  117. */
  118. public function article_searchOp() {
  119. $condition = array();
  120. $condition['article_title'] = array("like",'%'.trim($_GET['keyword']).'%');
  121. $condition['article_state'] = self::ARTICLE_STATE_PUBLISHED;
  122. $model_article = Model('cms_article');
  123. $article_list = $model_article->getList($condition, 20, 'article_sort asc, article_id desc');
  124. Tpl::output('show_page', $model_article->showpage(2));
  125. Tpl::output('total_num', $model_article->gettotalnum());
  126. Tpl::output('article_list', $article_list);
  127. $this->get_article_sidebar();
  128. Tpl::showpage('search_article');
  129. }
  130. /**
  131. * 根据标签搜索
  132. */
  133. public function article_tag_searchOp() {
  134. $article_list = array();
  135. if(intval($_GET['tag_id']) > 0) {
  136. $model_article = Model('cms_article');
  137. $condition = array();
  138. $condition['relation_tag_id'] = $_GET['tag_id'];
  139. $condition['article_state'] = self::ARTICLE_STATE_PUBLISHED;
  140. $article_list = $model_article->getListByTagID($condition, 20, 'article_sort asc, article_id desc');
  141. Tpl::output('show_page', $model_article->showpage(2));
  142. Tpl::output('total_num', $model_article->gettotalnum());
  143. }
  144. Tpl::output('article_list', $article_list);
  145. $this->get_article_sidebar();
  146. Tpl::showpage('search_article');
  147. }
  148. /**
  149. * 文章侧栏
  150. */
  151. private function get_article_sidebar() {
  152. $model_tag = Model('cms_tag');
  153. $model_article = Model('cms_article');
  154. //标签
  155. $cms_tag_list = $model_tag->getList(TRUE, null, 'tag_sort asc', '', 10);
  156. $cms_tag_list = array_under_reset($cms_tag_list, 'tag_id');
  157. Tpl::output('cms_tag_list', $cms_tag_list);
  158. //推荐文章(图文)
  159. $condition = array();
  160. $condition['article_commend_image_flag'] = 1;
  161. $article_commend_image_list = $model_article->getList($condition, 5, 'article_id desc', '*', 3);
  162. Tpl::output('article_commend_image_list', $article_commend_image_list);
  163. //推荐文章
  164. $this->get_article_comment();
  165. }
  166. }