You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Drupal 8中移除每条评论下方的回复按钮?

如何在Drupal 8中移除评论的回复按钮(保留页面内的回复表单)

我懂你的需求——不想删掉页面上的回复表单,但要把触发它的回复按钮去掉对吧?这里有几种靠谱的方法,你可以根据自己的技术偏好选:

方法1:重写评论模板(最灵活)

这是Drupal主题自定义里最常用的方式,能精准控制显示内容:

  • 首先启用Twig调试(在sites/default/services.yml里把twig.config.debug设为true,然后清缓存),打开评论页面,查看源代码里的模板提示,找到评论对应的模板文件(通常是comment.html.twig)。
  • 把这个模板文件复制到你的主题的templates目录下。
  • 打开复制后的模板,找到渲染回复按钮的代码块——一般是类似{{ content.links }}或者专门的回复链接部分,把这部分代码删掉或者注释掉。
  • 保存文件后清除Drupal缓存,按钮就消失了。

方法2:CSS隐藏(最快实现)

如果你只是想快速隐藏按钮,不需要彻底移除,可以用CSS:

  • 打开浏览器开发者工具,选中回复按钮,查看它的CSS类名(比如常见的.comment__reply-link或者.comment-reply a)。
  • 在你的主题的CSS文件(比如style.css)里添加:
.comment__reply-link {
  display: none;
}
  • 保存后刷新页面,按钮就看不到了。注意:这种方法只是视觉隐藏,用户还是能通过源码找到链接,适合临时需求或者对前端熟悉的场景。

方法3:用预处理钩子彻底移除(后端层面)

如果你想从后端彻底移除这个按钮的生成逻辑,可以用主题的预处理钩子:

  • 打开你的主题的.theme文件(比如mytheme.theme)。
  • 添加以下代码:
function mytheme_preprocess_comment(&$variables) {
  // 检查并移除回复链接
  if (isset($variables['content']['links']['comment']['#links']['comment-reply'])) {
    unset($variables['content']['links']['comment']['#links']['comment-reply']);
  }
}
  • 把mytheme换成你的主题机器名,保存后清除Drupal缓存,回复按钮就不会被渲染出来了。

不管用哪种方法,操作后记得清除Drupal的缓存,确保修改生效哦!

内容的提问来源于stack exchange,提问作者crayden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:21:17