应项目要求,一个内容模型下栏目不宜分的层级过多,如新闻模块,分2022、2023、2024年度,每年度下分12个月,这样就是2层栏目,再依类别(科技、动漫、电影...)划分层级,栏目数量较多,而且不易管理,需要拓展功能,取content下 author字段来区分类别,用不同的帐户添加新闻,默认author值=账户名称。记录一下二开过程
功能1:后台内容管理中增加类别(author)栏,栏目项增加value->parentsortname 当前内容栏目及上一级栏目名称,如(2023年度-10月)
Apps-admin-view-default-content-content.html1 2 3 4 5 | < div class="layui-input-inline"> < select name="field" class="layui-input-inline" > < option value="a.author" {if(get('field')=='a.author')}selected="selected" {/if}>类别 option >< option value="a.title">标题 option >
select >
div > |
#67 增加
1 2 | < td title="[value->scode]">[value->parentsortname]-[value->sortname] td > < td >[value->author] td > |
功能2:检索条件增加类别选项
apps-admin-model-content-ContentModel.php
getList() findContent findList() 原为findContentAll() 方法
增加a.author (功能1) e.name as parentsortname(功能1) 及join left语句和更改 ->like('a.title', $keyword) 为$field (功能2)
Apps-admin-controller-content-ContentController.php
#38 index() 增加get(‘field’)
$this->model->findContent() $field $scode $keyword; 选择栏目下检索 findList() $mcode $field $keyword 默认全栏目下检索 $thin->model->getList() 与上面的ContentModel 一一对应 #252 makeSortJson() 副栏目列表选择json
tips: getlist()方法中的field scode顺序需注意,防止后台取得上一级的栏目id scode