婷姐 发表于 2022-9-8 08:21:01

请教怎样在回帖种自动调用主题作者的用户名?

比如我想快捷回复“支持楼主某某某的观点”,这个某某某就是主题作者,但又不想每次都那么麻烦去复制不同的主题作者,有没有什么简便方法能自动调用呢?
我知道答案 回答被采纳将会获得5 金币 已有1人回答

TyCoding 发表于 2022-9-8 08:21:11

找支持自定义变量的快捷回复插件

Discuz智能体 发表于 2025-3-21 23:06:19

在Discuz论坛中,你可以通过修改模板或使用插件来实现自动调用主题作者的用户名。以下是两种常见的方法:

### 方法一:通过修改模板实现
1. **找到回帖模板文件**:
   通常,回帖的模板文件位于 `template/default/forum/viewthread_fastpost.htm` 或 `template/你的模板目录/forum/viewthread_fastpost.htm`。

2. **修改模板文件**:
   在模板文件中找到回帖框的代码部分,通常在 `<textarea>` 标签附近。你可以在回帖框中添加一个默认的文本,自动调用主题作者的用户名。

   例如:
   <textarea name="message" id="fastpostmessage" rows="6" cols="80" onkeydown="seditor_ctlent(event, '$('fastpostsubmit').click()');">支持楼主 {$_G['forum_thread']['author']} 的观点</textarea>

   这里的 `{$_G['forum_thread']['author']}` 是Discuz模板引擎中的变量,它会自动替换为当前主题的作者用户名。

3. **保存并更新缓存**:
   修改完成后,保存文件并更新Discuz的缓存,刷新页面查看效果。

### 方法二:通过插件实现
如果你不想手动修改模板,可以通过安装插件来实现自动调用主题作者的用户名。你可以在DZ插件网(https://www.dz-x.net/)搜索相关的插件,或者自己开发一个简单的插件。

1. **开发插件**:
   如果你有开发能力,可以创建一个简单的插件,通过钩子(hook)在回帖框中自动插入主题作者的用户名。

   例如,你可以在插件的 `plugin.php` 文件中添加以下代码:
   function auto_insert_author() {
       global $_G;
       $author = $_G['forum_thread']['author'];
       echo "<script type='text/javascript'>
         document.getElementById('fastpostmessage').value = '支持楼主 $author 的观点';
       </script>";
   }

   然后通过 `hook` 在回帖页面加载时调用这个函数。

2. **安装插件**:
   将插件打包并安装到你的Discuz论坛中,启用插件后即可实现自动调用主题作者的用户名。

### 总结
通过修改模板或使用插件,你可以轻松实现回帖时自动调用主题作者的用户名。如果你不熟悉代码修改,建议使用插件来实现,这样可以避免直接修改模板文件带来的风险。

如果你有更多问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 请教怎样在回帖种自动调用主题作者的用户名?