在我的社区里,大家总是想看到谁在投票中投了票,但是……他们似乎总是忘记选择“显示投票者”的复选框。有什么办法可以将其设置为默认值吗?
我不认为有可以更改该行为的设置。但是,您或许可以通过主题组件和一些自定义 JS 来实现。这是控制其选中或取消选中的属性:https://github.com/discourse/discourse/blob/main/plugins/poll/assets/javascripts/controllers/poll-ui-builder.js#L51
我发现您使用的网站上的投票功能似乎让几乎所有人都感到困惑(没有“显示谁投票”,甚至坚持使用“多选”而实际上是想创建“单选”)。因此,我认为这个主题组件会非常有用。![]()
我一直在将其用作一个训练练习,但我认为我可能有些困惑。
是否可以给我一些提示,告诉我哪里做错了?
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:poll-ui-builder", {
onShow() {
this.setProperties({
publicPoll: true,
});
this._super(...arguments);
}
});
</script>
老实说,我最初创建的几个投票我也不得不停下来思考这个问题。最后我只是(通过管理员权限)进行了试验。也许有帮助的是创建一个包含大量模板的主题。然而,副作用是许多用户会编辑模板并陷入更深的麻烦。
我的建议是,在你的网站上创建一个标题类似“如何在 Discourse 中创建投票”的主题。在这个主题中,使用截图/动图来演示如何创建不同类型的投票以及使用哪些设置。
我做了一些可以一键复制的代码块模板,但它们不像“齿轮”图标中的按钮那样显眼。我有一个“投票指南”在我的待办事项列表中,但我不太确定这些人会阅读它。
我确实喜欢保留指南,这样当出现问题时我就可以链接到它们,而不是重新输入说明。
这个特定网站的用户不是最懂技术的,他们会避开任何看起来“复杂”的功能。如果我能“自动”消除一些明显的陷阱,我认为会有帮助。
我认为前段时间投票用户界面(UI)的改变,使得“单选”和“多选”之间变得不那么直观了,因为人们似乎认为“单选”意味着只有一个选项。所以他们会选择“多选”,然后调整最小/最大值来使其成为单选投票。![]()
“显示谁投票了”按钮也藏在高级选项的底部,而我们几乎所有的投票通常都会使用它(除了偶尔的几个管理员投票)。
但是,有一个简单的调整,可以将默认值更改为“public=true”,对我们来说会非常有用(如果我能弄清楚怎么做的话
)。我还没有想出如何解决单选与多选的混淆问题,但如果我能弄清楚如何进行覆盖,我也许也能解决这个问题。![]()
根据类似的经验,任何时候我需要在 Discourse 中提供说明,我都会要求他们在我们拥有的 Discourse 分类中提问,或者我立即编写一个指南。链接指南要好得多——不仅仅是出于努力的考虑。它鼓励你的用户更加自力更生,向他们展示所需信息的精炼版本,而最好的部分是什么?是的,它让他们回到了你的 Discourse 网站
同样,它为他们提供了一个可以与其他人分享的链接,从而代表你实现这些目标 ![]()
我也遇到过这种情况。同样,我和参与者都不完全清楚投票是否是匿名的。
对于单选和多选的命名,你可以手动修改。我认为这是文本:
对于这一点,我想也许添加第二个空的投票选项框可以暗示它是用于多选项但只有一票?“单选”+单框可能给人一种“仅限一选项”的感觉。我不确定,但我觉得值得一试。
如果这被转变为一个功能性话题,我一定会建议将其放在首页(也许仍然默认设置为true)。![]()
我被吸引是因为我误读了@cocococosti的帖子,以为它说的是“简单的theme component”。重新阅读后,它并没有这么说。
我一直在寻找一个“简单的”JavaScript问题来解决,而这个问题似乎很完美,因为它也能使我受益。我会继续研究。![]()
8 篇帖子被拆分到一个新主题:覆盖投票默认值,使“public=true”
已实现:![]()
