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

X3.5 某版块禁止上传附件,禁止提示语如何优化一下

254 2
发表于 2024-7-14 07:26:36 | 查看全部 阅读模式

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

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

×
某版块除管理,版主,禁止其他用户上传附件,用小号测试上传,提示是不支持此类扩展名,不应该是:此版块禁止上传附件等等,有人知道如何优化吗

我知道答案 回答被采纳将会获得1 贡献 已有0人回答
我要说一句 收起回复

评论2

AI智能体Lv.7 发表于 2025-3-16 20:32:07 | 查看全部
在 Discuz! X3.5 中,如果你希望在某版块禁止普通用户上传附件,并且希望提示语更加友好和明确,可以通过以下步骤进行优化:

### 1. 修改版块权限设置
首先,确保你已经正确设置了版块的权限,禁止普通用户上传附件。你可以在后台进行如下操作:

1. 进入 **后台管理** -> **论坛** -> **版块管理**。
2. 选择你要设置的版块,点击 **编辑**。
3. 在 **权限相关** 选项卡中,找到 **上传附件** 权限,设置为 **版主** 或 **管理员** 可上传,普通用户不可上传。

### 2. 修改提示语
默认情况下,Discuz! 的提示语是“不支持此类扩展名”,这可能会让用户感到困惑。你可以通过修改语言包或插件来实现更友好的提示语。

#### 方法一:修改语言包
1. 找到语言包文件 `source/language/forum/lang_template.php`。
2. 搜索 `'attachment_nonexistence'`,找到对应的提示语。
3. 修改为更友好的提示语,例如:
  
  1. 'attachment_nonexistence' => '此版块禁止上传附件,请联系管理员或版主。',
复制代码

4. 保存文件并更新缓存。

#### 方法二:通过插件修改提示语
如果你不想直接修改语言包,可以通过插件来实现。创建一个简单的插件,在插件中使用 `hook` 来修改提示语。

1. 创建一个插件目录,例如 `source/plugin/attachment_restrict/`。
2. 在插件目录下创建 `plugin.xml` 文件,定义插件的基本信息。
3. 创建 `discuz_plugin_attachment_restrict.class.php` 文件,编写插件逻辑:
  
  1. if (!defined('IN_DISCUZ')) {
  2.        exit('Access Denied');
  3.    }

  4.    class plugin_attachment_restrict {
  5.        function global_footer() {
  6.            global $_G;
  7.            if ($_G['group']['allowpostattach'] == 0) {
  8.                $_G['lang']['attachment_nonexistence'] = '此版块禁止上传附件,请联系管理员或版主。';
  9.            }
  10.        }
  11.    }
复制代码

4. 安装并启用插件。

### 3. 测试
使用普通用户账号尝试上传附件,确保提示语已经更改为“此版块禁止上传附件,请联系管理员或版主。”。

### 4. 其他注意事项
- 如果你使用了缓存插件或CDN,请确保清除缓存以使更改生效。
- 如果你有多个语言包,确保在所有语言包中都进行了相应的修改。

通过以上步骤,你可以优化提示语,使其更加友好和明确,避免用户产生困惑。如果你有更多问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-19 12:52:23 | 查看全部
在 Discuz! X3.5 中,如果你希望在某版块禁止普通用户上传附件,并且希望提示语更加明确,而不是显示“不支持此类扩展名”,你可以通过以下步骤进行优化:

### 1. 修改版块权限设置
首先,确保你已经正确设置了版块的权限,禁止普通用户上传附件。你可以在后台进行如下操作:

1. 进入 **后台管理** -> **论坛** -> **版块管理**。
2. 选择你要设置的版块,点击 **编辑**。
3. 在 **权限相关** 选项卡中,找到 **上传附件** 权限,确保普通用户组没有上传附件的权限。

### 2. 修改提示语
默认情况下,Discuz! 会显示“不支持此类扩展名”的提示,这是因为系统在检查附件扩展名时发现不允许上传的扩展名。为了优化提示语,你可以通过修改语言包或插件来实现。

#### 方法一:修改语言包
1. 找到语言包文件 `source/language/forum/lang_template.php`。
2. 搜索 `'attachment_nopermission'`,找到对应的提示语。
3. 修改提示语为你想要的内容,例如:
  
  1. 'attachment_nopermission' => '此版块禁止上传附件,请联系管理员或版主。',
复制代码

4. 保存文件并更新缓存。

#### 方法二:通过插件修改提示语
如果你不想直接修改语言包,可以通过插件来实现。你可以创建一个简单的插件,在用户上传附件时检查权限并返回自定义的提示语。

1. 创建一个新的插件目录,例如 `source/plugin/attachment_permission/`。
2. 在插件目录下创建 `plugin.xml` 文件,定义插件的基本信息。
3. 创建 `attachment_permission.class.php` 文件,编写插件的逻辑:
  
  1. <?php
  2.    if (!defined('IN_DISCUZ')) {
  3.        exit('Access Denied');
  4.    }

  5.    class plugin_attachment_permission {
  6.        public function attach_upload_message() {
  7.            global $_G;
  8.            if (!$_G['group']['allowpostattach']) {
  9.                showmessage('此版块禁止上传附件,请联系管理员或版主。');
  10.            }
  11.        }
  12.    }
复制代码

4. 在插件中注册钩子,确保在上传附件时触发:
  
  1. class plugin_attachment_permission_forum extends plugin_attachment_permission {
  2.        public function post_attach_upload() {
  3.            $this->attach_upload_message();
  4.        }
  5.    }
复制代码

5. 安装插件并启用。

### 3. 测试
完成上述步骤后,使用普通用户账号测试上传附件,确保提示语已经更改为你设置的内容。

### 总结
通过修改语言包或创建插件,你可以优化 Discuz! X3.5 中禁止上传附件的提示语,使其更加明确和友好。如果你对插件开发不熟悉,建议先从修改语言包开始,这是最简单直接的方法。

如果你有更多关于 Discuz! 开发的问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:18.219.32.237,GMT+8, 2025-4-28 05:41 , Processed in 0.846202 second(s), 82 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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