自定义主题排序按钮

安装此主题组件

你好 :waving_hand:

此主题组件在“创建主题”按钮旁边添加了一个新按钮,允许您更改主题列表的排序方式。主要目标之一是使主题排序在移动设备以及隐藏了主题列表标题部分的主题上也能轻松访问。

单击一个项目将在项目右侧显示排序顺序(升序或降序)。

降序(图标) 升序(图标)

设置

此组件包含多个用于自定义的设置。

对象设置

使用对象设置,您可以更改每个项目的图标标签操作顺序

  • icon - > Discourse 图标集中的图标名称
  • label - > 翻译键(请参阅 /admin/customize/site_texts
  • action - > 排序操作标识符
  • order - > 项目在下拉列表中的位置

label 的示例:

likes-label

在这种情况下,label 字段应为:js.likes

17 个赞

很棒的组件!我也曾想过创建一个类似的东西。

我注意到您没有在 GitHub 仓库中添加许可证。

您是否会接受一个添加更多排序选项(例如 op_likes)的拉取请求?

5 个赞

这是一个很棒的组件,Don,干得好!感谢你创建它 :star_struck:

6 个赞

当然!欢迎提交 PR,谢谢 @Moin :hugs:

5 个赞

我注意到的一点是,我期望在点击其中一个选项后,下拉菜单就会消失。在视图更改后,我必须点击它外部才能使其消失。但也许这是设计使然——我不确定,哈哈。

3 个赞

是的,这是设计使然——如果您再次单击同一项目,排序方向会发生变化。

4 个赞

是的,我玩了更多之后也是这么想的。我喜欢这个组件——对我自己的实例来说非常有用。再次感谢 :拥抱:

3 个赞

我注意到“排序方式”按钮出现在类别页面上,但它在那里不起作用。在这种情况下,也许可以将其隐藏。

3 个赞

谢谢 Lilly :拥抱: 我已经合并了:DEV: Remove sort button on categories page · VaperinaDEV/custom-topic-sort-order-button@1325272 · GitHub

4 个赞

已合并。

我为附加的排序选项选择的图标和标签
{
	"icon": "custom-heart-circle-one",
	"label": "js.category.sort_options.op_likes",
	"action": "op_likes"
},
{
	"icon": "user-group",
	"label": "js.posters",
	"action": "posters"
},
{
	"icon": "far-square",
	"label": "js.category.sort_options.category",
	"action": "category"
},
{
	"icon": "square-plus",
	"label": "js.topic_voting.vote_title_plural",
	"action": "votes"
}

我没有将它们添加到默认配置中,因为我认为它们不太常用。但是,当您添加它们时,您现在还可以按第一个帖子的点赞数、发帖人数量、类别 ID 以及在使用主题投票插件时的投票数进行排序。

我为 OP 的点赞数创建了一个图标,这样即使在移动设备上隐藏标签时,您也可以区分点赞数和第一个帖子的点赞数。

4 个赞

在移动设备上,当我选择一个选项时,此模态框会向上移动直到 DOM 加载完成。
这是一个 UI 错误吗?