可以更改下拉列表的名称吗?

大家好 :slight_smile:

有人知道是否有选项可以更改特定类别内的下拉菜单名称吗?

我想自定义“all”和“all tags”部分:

几乎所有的文本都可以自定义:

我猜你需要编辑,例如:

2 个赞

但是它不会仅针对特定类别进行更改。

我开始着手解决一个非常粗糙的 CSS 问题,它并不完美……而且我不太愿意分享如此粗糙的东西。:confounded:

5 个赞

好的,谢谢你的帮助!@merefield @Canapin

3 个赞

哦抱歉,我扫读了!

是的,它们是全局的。

1 个赞

去吧 :wink: :wink:

我认为这过于复杂,尤其是在子类别未在 HTML 代码中定义为子类别时……我有一个半成品,但我认为应该以正确的方式完成,而 Discourse JS API 可能会对此有所帮助。不幸的是,我对它了解不多。

5 个赞

你好 :wave:

我现在做了一个主题组件来实现这个功能……

它包含两个设置,以便更轻松地使用。

category name
第一项:category slug
第二项:category dropdown title

tag name
第一项:category slug
第二项:tag dropdown title

看起来会是这样。

添加子分类标签标题

希望这对你有帮助 :slightly_smiling_face:


编辑:我已修复下拉菜单的宽度,使其与自定义文本宽度正确对齐。UX: fix the dropdown width to keep the custom content width · VaperinaDEV/category-breadcrumb-dropdown-title@faca71c · GitHub

8 个赞

哇,干得漂亮@Don - 你让我惊叹不已 :exploding_head: :star_struck:

2 个赞

听好了!
:man_mage:

来自 SCSS 的神秘深处和前端炼金术的复杂性,Don 爵士已崛起。征服函数、掌握循环和解密列表,我们自豪地授予他杰出的前端卓越奖章 :sports_medal::person_bowing:

而且你的组件在没有一行 JS 的情况下就能工作……

Happy James Corden GIF by The Late Late Show with James Corden

1 个赞

请告诉我 GPT4bot 帮助你写了那段话 :laughing:

4 个赞

100% 是的,恐怕是这样。

2 个赞

这个解决方案令人印象深刻,但你可以这样做 @Don

api
  .modifySelectKit("category-drop")
  .replaceContent((component, content) => {
    let newContent = [];
    content.forEach((item) => {
      if (
        component.category?.slug === "general" &&
        item.id === "all-categories"
      ) {
        item.name = "jojo";
      }

      newContent.push(item);
    });
    return newContent;
  });

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/select-kit/addon/mixins/plugin-api.js 列出了你可以执行的所有操作:

  • appendContent
  • prependContent
  • replaceContent
  • onChange

如果你在使用过程中遇到任何问题,请告诉我。这应该会有更好的文档记录,但如果你有任何疑问,我随时都在。

6 个赞

@Don @j.jaffeux 你们太棒了!! :fire:

3 个赞