你好。
我刚开始接触 Discourse 插件开发,想请教一下如何为帖子菜单添加自定义按钮。据我所知,这应该通过自定义插件来实现。
例如,添加一个“逗你笑”按钮,其行为类似于“点赞”按钮,记录有多少用户在帖子或评论上点击了它。
我知道 Retort 插件,但它无法解决我的问题,因为我更想了解如何添加这样的按钮。
你好,
这是一个棘手的问题。根据我的经验,这应该通过插件来实现。你需要为 post-menu 小部件添加一个额外的按钮,并且需要进行数据库迁移以存储你的“逗你笑”反应。
你可以参考 Discourse Solved 插件:
该插件同样为帖子菜单添加了额外按钮,并实现了存储在数据库中的功能。
请务必阅读构建插件的开发指南:
祝你好运。
3 个赞
非常感谢,@zcuric!我尝试理解这个插件以及 Retort,但至今尚未成功,不过我会继续朝这个方向努力。
另外,能否请您指点一下,Discourse 是如何管理“点赞”按钮的渲染的?具体来说,它是如何隐藏用户在自己帖子上的“点赞”按钮的?这样我就可以为我的自定义按钮实现同样的效果。
@marek 不客气。您可以从以下位置开始阅读代码:
关于后端部分,99% 是 API 请求。我没有深入研究。可能是一个端点。我的猜测是,在构建插件时,您需要通过 REST API 路由(包含 GET、POST、DELETE 端点) 来填充数据库中的字段数据,而该字段是通过 数据库迁移 添加的,这一切都将通过 Rails 完成。至少我是这样处理这种情况的。
3 个赞