feat: 文章相关

This commit is contained in:
2025-04-12 14:34:07 +08:00
parent 58352e200e
commit b571f7c8e1
7 changed files with 123 additions and 82 deletions

View File

@@ -3,6 +3,10 @@ declare (strict_types = 1);
namespace app\index\controller;
use app\admin\controller\v1\BannerItem;
use app\index\model\ArticleCategoryModel;
use app\index\model\ArticleModel;
use app\index\model\SysBannerItemModel;
use think\facade\View;
class Article extends Common
@@ -12,6 +16,52 @@ class Article extends Common
*/
public function index()
{
// 获取上级分类
$param = request()->param([
'pid',
'cid',
'page/d' => 1,
'size/d' => 12,
]);
// 获取banner焦点图
$banner = SysBannerItemModel::hasWhere('banner', [
'language_id' => $this->lang_id,
'unique_label' => 'BANNER_67f9fc71e27db'
])
->type('image')
->visible(['id', 'title', 'image', 'link'])
->find();
View::assign('banner', $banner);
// 获取分类列表
$categorys = ArticleCategoryModel::field([
'id',
'pid',
'name'
])
->language($this->lang_id)
->parent($param['pid']??null)
->isShow(true)
->order(['sort' => 'asc', 'id' => 'desc'])
->select();
View::assign('categorys', $categorys);
// 获取文章列表
if (!$categorys->isEmpty()) {
$articles = ArticleModel::field([
'id',
'title',
'desc',
'image'
])
->category($param['cid']??$categorys[0]['id'])
->paginate([
'list_rows' => $param['size'],
'page' => $param['page'],
]);
}
View::assign('articles', $articles??[]);
return View::fetch('index');
}