如何制作自定义搜索栏?

我一直在尝试构建一个类似于 discourse-search-banner 插件的自定义搜索栏。我不想使用该插件,因为它会干扰我主题的外观。

我该如何将这种功能镜像到我选择的 <input type="text" /> 元素上?

我查看了该插件的源代码,并尝试将其调整以仅使用我的 HTML 元素,但未能成功。任何建议都将不胜感激!

2 个赞

能否在这里提供该插件的链接?我似乎找不到它。或许也可以标记一下插件的创作者,他们可能会有一些建议。

2 个赞

您说的是这个 #主题组件 吗?

2 个赞

没错!抱歉,我没加链接是我的疏忽,我会修改一下。

1 个赞

别担心,但这是一个主题组件而非插件,因此会涉及一些差异。特别是因为主题组件使用客户端逻辑,而插件使用服务器端逻辑。或者,您是想基于该主题组件开发一个插件吗?

2 个赞

抱歉回复晚了。

我不太在意最终是做成插件还是主题组件,只要能达到预期的功能就行。基本上,我需要将默认搜索(顶部栏中的图标)的行为镜像到我选择的文本输入框上。

我该怎么做呢?

许多问题可以通过 CSS 解决。

有什么阻止你直接检查并修改 CSS 呢?这绝对是更快的解决方案。

最坏的情况下,可以分叉 TC 并编辑你的 CSS。

1 个赞

问题不在于 CSS,而在于组件的放置方式以及它如何适配我的 HTML 结构。如果我能弄清楚如何修改组件的注入位置,或许就能找到解决方案。你能给我指个方向吗?

在您的站点启用主题组件后,请使用浏览器检查代码并查看其放置位置。在浏览器中进行调整,找到更合适的位置,然后使用该位置来更新或编辑 TC 的分支副本。这样应该可以解决问题。

此外,还有一个现成的 Header 主题:

如果两者都不适用且 CSS 修改也不够,您将不得不 深入接触小部件代码 :)。

1 个赞

帖子已拆分为新主题:在我们的设置中在哪里可以找到搜索栏?