大家好!
我正在学习如何为 Discourse 创建插件。目前,我想了解如何在屏幕角落添加一个按钮,并在点击时处理请求。该如何实现呢?这虽然很基础,但我一直没找到答案。
另外,我在一些插件中看到了类似 includePostAttributes 和 decorateWidget 的调用。在哪里可以查看 Discourse 允许使用的所有方法列表?
大家好!
我正在学习如何为 Discourse 创建插件。目前,我想了解如何在屏幕角落添加一个按钮,并在点击时处理请求。该如何实现呢?这虽然很基础,但我一直没找到答案。
另外,我在一些插件中看到了类似 includePostAttributes 和 decorateWidget 的调用。在哪里可以查看 Discourse 允许使用的所有方法列表?
能否请你截图说明你希望在哪里添加这个按钮,以及点击后希望发生什么效果?
我想你指的是插件 API。你可以在该 API 中找到所有方法及其示例:
此外,你还可以在此处找到该 API 中一些最常用方法的更详细解释:
谢谢,我会查看方法列表。
截图如下:
如您所见,我在角落添加了一个小圆圈,代表该按钮。该按钮应悬浮在页面上(即:即使向下滚动,它仍应保持在角落)。点击后执行的逻辑,我会尝试自行添加,但为了更清晰,目前我正在尝试了解如何打开一个警告框(仅用于练习)。
您正在寻找的功能称为 position: fixed,它是一个 CSS 属性。您可以在此处阅读有关 CSS 定位的更多信息:
position: fixed 会使元素保持在同一位置(相对于视口),即使您向下滚动也是如此。
我不太确定您在这里想要实现什么,但如果只是希望在点击按钮时打开一个警告框,那么您需要一个事件监听器。您可以在此处阅读更多关于事件监听器的内容:
您是否遇到了任何具体的问题需要我们帮助您解决?
再次感谢提供的信息。我对这些都很熟悉。我想我的问题在于我不清楚 CSS 文件应该放在哪里。我有 Ruby 文件和 JS 文件,但 CSS/Sass 文件应该放在哪里呢?
不错 ![]()
既然你提到已经有 Ruby 文件,我猜你正在开发一个插件,对吗?
那么,来回答你的问题
我建议你先查看我们一些现有官方插件的文件夹结构,例如这个:
或者这个:
如果你查看这些插件,你会发现 SCSS 样式表总是放在
_ROOT_/assets/stylesheets/
如果你正在开发插件,你的 SCSS 文件也应该放在这里。