·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

花落谁家?还没有一款插件实现按日期、用户名搜索帖子

211 2
发表于 2022-2-10 07:52:05 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
实现可查询在某个时间段、指定用户或不指定用户的帖
我要说一句 收起回复

评论2

浅生Lv.8 发表于 2022-2-10 07:52:53 | 查看全部
后台,帖子搜索,填用户名,更多迭项,填时间搜索。不指定用户,不填用户名,更多迭项,填时间搜索。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-21 04:12:21 | 查看全部
要实现按日期和用户名搜索帖子的功能,可以通过开发一个自定义的Discuz插件来实现。以下是一个基本的实现思路:

### 1. 创建插件目录结构
首先,在 `source/plugin/` 目录下创建一个新的插件目录,例如 `search_by_date_user`。

### 2. 创建插件配置文件
在插件目录下创建一个 `plugin.xml` 文件,用于定义插件的基本信息。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <root>
  3.     <item id="name">按日期和用户搜索帖子</item>
  4.     <item id="version">1.0</item>
  5.     <item id="description">允许按日期和用户名搜索帖子</item>
  6.     <item id="author">DZ-X</item>
  7.     <item id="url">https://www.dz-x.net</item>
  8. </root>
复制代码


### 3. 创建插件主文件
在插件目录下创建一个 `search_by_date_user.class.php` 文件,用于处理插件的逻辑。

  1. <?php

  2. if (!defined('IN_DISCUZ')) {
  3.     exit('Access Denied');
  4. }

  5. class plugin_search_by_date_user {

  6.     function __construct() {
  7.         // 插件初始化
  8.     }

  9.     function global_header() {
  10.         // 在全局头部添加搜索表单
  11.         global $_G;
  12.         include template('search_by_date_user:search_form');
  13.     }

  14.     function search_by_date_user() {
  15.         // 处理搜索请求
  16.         global $_G;

  17.         $startdate = dgmdate(strtotime($_GET['startdate']), 'Y-m-d');
  18.         $enddate = dgmdate(strtotime($_GET['enddate']), 'Y-m-d');
  19.         $username = daddslashes($_GET['username']);

  20.         $sql = "SELECT * FROM ".DB::table('forum_post')." WHERE 1=1";

  21.         if ($startdate) {
  22.             $sql .= " AND dateline >= '".strtotime($startdate)."'";
  23.         }

  24.         if ($enddate) {
  25.             $sql .= " AND dateline <= '".strtotime($enddate)."'";
  26.         }

  27.         if ($username) {
  28.             $sql .= " AND author = '".$username."'";
  29.         }

  30.         $query = DB::query($sql);
  31.         $results = array();
  32.         while ($row = DB::fetch($query)) {
  33.             $results[] = $row;
  34.         }

  35.         include template('search_by_date_user:search_results');
  36.     }
  37. }
复制代码


### 4. 创建模板文件
在 `template/default/search_by_date_user/` 目录下创建两个模板文件:

- `search_form.htm`:用于显示搜索表单。
- `search_results.htm`:用于显示搜索结果。

#### search_form.htm
  1. <form action="plugin.php?id=search_by_date_user:search_by_date_user" method="get">
  2.     <input type="hidden" name="id" value="search_by_date_user:search_by_date_user">
  3.     开始日期: <input type="date" name="startdate">
  4.     结束日期: <input type="date" name="enddate">
  5.     用户名: <input type="text" name="username">
  6.     <input type="submit" value="搜索">
  7. </form>
复制代码


#### search_results.htm
  1. <!--{loop $results $result}-->
  2.     <div>
  3.         <h3>{$result['subject']}</h3>
  4.         <p>{$result['message']}</p>
  5.         <p>作者: {$result['author']} | 日期: {echo dgmdate($result['dateline'], 'Y-m-d H:i:s')}</p>
  6.     </div>
  7. <!--{/loop}-->
复制代码


### 5. 安装插件
将插件目录上传到 `source/plugin/` 目录下,然后在Discuz后台的插件管理中安装并启用该插件。

### 6. 测试插件
访问网站前台,你应该会看到一个搜索表单。输入日期范围和用户名(可选),然后点击搜索按钮,系统会显示符合条件的帖子。

### 7. 优化和扩展
你可以根据需要进一步优化和扩展这个插件,例如添加分页功能、支持更多搜索条件等。

### 注意事项
- 确保在开发过程中遵循Discuz的编码规范和安全规范。
- 在实际部署前,建议在测试环境中充分测试插件的功能和性能。

通过以上步骤,你可以实现一个按日期和用户名搜索帖子的Discuz插件。如果你有更多需求或问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐

点我👉扫码添加站长微信,获取即时帮助!
点我👉扫码添加站长微信,获取即时帮助!
遇到问题别担心,添加站长微信,第一时间为您解决!专属客服在线等,享受一对一服务!

查看 »

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:18.221.200.48,GMT+8, 2025-4-12 04:14 , Processed in 0.435729 second(s), 89 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服
快速回复 返回顶部 返回列表