如何在后台文章列表增加发布时间搜索?

如沐春 · 35次点击 · 3天前

做这个二次开发,首先要先了解二次开发的基本步骤:
1. 使用哪种二开方式?(控制器覆盖还是控制器方法钩子)

一般选用控制器覆盖方法,最简单了

2. 将二开文件与系统文件分开来。

从需求来看,文章模块是系统模块,系统已经有article-list.html这个文件了,所以二开的时候尽量不要在article-list.html这个文件修改,我们可以重新弄个文件。


知道如上步骤,那么我们接下来就开始弄了。

1. 将app/admin/c/ArticleController.php 放到 app/admin/plugins/ArticleController.php,修改相关代码:

namespace app\admin\plugins;//这里修改空间命名


use app\admin\c\CommonController;//引用公共控制器
use frphp\extend\Page;

找到对应的方法,内容列表是articlelist方法,要增加发布时间的范围搜索,前台选择范围,后台接收对应的时间范围,然后进行搜索。

我们选择layui的时间范围控件,提交的参数假设为:abc,接收的数据为:2025-10-23 10:00:00~2025-10-23 20:00:00 ,那么后台对这个abc进行处理,首先要拆分为两个时间,然后分别转为时间戳,之后拼接查询。

if($this->frparam('abc',1)){
	$abc = explode('~',$this->frparam('abc',1));
	$sql.=" and addtime>=".strtotime($abc[0])." and addtime<=".strtotime($abc[1]);
				
	}


image.png


最后,对渲染的模板进行修改,原本的article-list.html改成article-list2.html,然后复制一份article-list.html,重命名为article-list2.html,那么就得到一份跟系统模板一样的模板文件,可以在这个自定的模板中加入时间范围组件。

$this->display('article-list2');//原本article-list,改成article-list2

image.png


image.png

image.png


看下前台效果:
image.png

实现功能:

image.png


总结:熟练掌握二开技巧,需要懂得前端知识,知道layui组件如何使用。



被收藏 0  ∙  2 赞  
加入收藏
2 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站