过去 15 个小时对我来说简直是一场噩梦,我不得不阅读现有的插件和源代码,仅仅为了获得编写我的第一个插件所需的最基本功能。我需要帮助。
具体来说,我需要帮助在每个帖子的管理面板中添加一个新按钮(位于左下角的按钮)。我目前做到的最大程度只是将按钮放在了与小部件相同的元素中……
但请注意那个项目符号。这是因为我所创建的内容并没有像应该的那样进入 ul 列表中。我完全不知道该如何修复这个问题。

(这个 div 是我的选项。)
我是用这段代码实现的:
import { withPluginApi } from 'discourse/lib/plugin-api';
import showModal from "discourse/lib/show-modal";
export default {
name: 'tl-post-lock',
initialize() {
withPluginApi('0.8.24', function(api) {
const user = api.getCurrentUser()
if(user.trust_level >= api.container.lookup('site-settings:main').tl_lock_minimum) {
// 允许用户看到该按钮
api.decorateWidget('topic-admin-menu:after', (decorator) => {
// 将按钮添加到管理菜单
return decorator.attach('admin-menu-button', {
icon: 'ban',
fullLabel: 'tl_post_lock.button_label',
action: 'actionTlLock'
})
})
}
})
}
}
在此之后,我无法让它真正被点击。在 decorateWidget 块之后,如果我尝试编写任何形式的如下代码:
![]()
我会收到以下完全无用的错误,提示的行号和字符甚至根本不存在。
![]()
以及一大堆其他垃圾信息。
我要崩溃了。我该如何在左下角的管理面板中简单地添加一个按钮,以便我在点击它时运行代码?
