diff --git a/app/controller/Article.php b/app/controller/Article.php index 4235f55..257ec21 100644 --- a/app/controller/Article.php +++ b/app/controller/Article.php @@ -74,6 +74,7 @@ class Article extends Base $this->assignNews($topCategory, $category); break; default : + $this->data['items'] = MArticle::getListPageByCategory($category['id'], $category['number'] ? $category['number'] : 20); } } diff --git a/app/controller/Page.php b/app/controller/Page.php index 4cfb14f..8a6ff3a 100644 --- a/app/controller/Page.php +++ b/app/controller/Page.php @@ -44,6 +44,9 @@ class Page extends Base case 'service' : $this->assignService($childCategory); break; + case 'marketing' : + $this->assignMarketing($childCategory); + break; default : } } @@ -100,4 +103,23 @@ class Page extends Base $this->data['blocks'] = $blocks; } + + // 营销网络 + private function assignMarketing($childCategory) + { + $blocks = []; + $blockCateIds = $this->getBlockCateIds($childCategory); + $blockList = Block::getByCategoryIds($blockCateIds); + $marketingChildrenFlip = array_flip(Category::$CIdList['marketing_children']); + foreach ($childCategory as $cate) { + $blocks[$marketingChildrenFlip[$cate['id']]] = $blockList[$cate['id']] ?? []; + } + $achievementCate = Category::getById(Category::$CIdList['achievement_manage']); + $achievementList = []; + if ($achievementCate) { + $achievementList = Article::getLatestByCategory($achievementCate['id'], $achievementCate['number'] ? $achievementCate['number'] : 10); + } + $this->data['blocks'] = $blocks; + $this->data['achievementList'] = $achievementList; + } } \ No newline at end of file diff --git a/app/model/Article.php b/app/model/Article.php index 194eae1..bc36d01 100644 --- a/app/model/Article.php +++ b/app/model/Article.php @@ -228,4 +228,28 @@ class Article extends Base ->select() ->toArray(); } + + //根据栏目IDs获取文章分页列表 + public static function getListPageByCategories($categoryIds, $per = 20, $keyword = '', $order = []) + { + $param = []; + $where = [ + ['category_id', 'in', $categoryIds], + ['status', '=', 1], + ]; + if($keyword!=''){ + $where[] = ['title', 'like', '%'.$keyword.'%']; + $param['keyword'] = $keyword; + } + $paginate = [ + 'list_rows' => $per, + 'query' => $param + ]; + if(empty($order)) { + $order = ['create_time'=>'desc']; + } + return self::where($where) + ->order($order) + ->paginate($paginate,false); + } } diff --git a/app/model/Category.php b/app/model/Category.php index cef1d5e..62348c1 100644 --- a/app/model/Category.php +++ b/app/model/Category.php @@ -23,10 +23,12 @@ class Category extends Base 'in_progress' => 13, // 售中服务 'after' => 14, // 售后服务 ], + 'marketing' => 15, // 营销网络(主) 'marketing_children' => [ - 'marketing_network' => 16, // 网络营销 + 'network' => 16, // 营销网络 'achievement' => 17, // 主要业绩 ], + 'achievement_manage' => 30, // 主要业绩管理 'news' => 18, //新闻(主) 'news_children' => [ 'enterprise' => 20, // 企业新闻 diff --git a/view/page/marketing.html b/view/page/marketing.html new file mode 100644 index 0000000..c74e756 --- /dev/null +++ b/view/page/marketing.html @@ -0,0 +1,48 @@ +{layout name="layout"} + + +
+ +{$blocks['network']['subtitle']['value'] ?? ''}
电话:{$blocks['network']['position_tel']['value'] ?? ''}
+地址:{$blocks['network']['position_description']['value'] ?? ''}
+{$blocks['achievement']['subtitle']['value'] ?? ''}