主题ID作为变量?

@tknospdr @pfaffman 我拼凑了一个快速组件,允许您输入主题 ID 并跳转到它。

创建一个新组件,并在“编辑 CSS/HTML”按钮下的 JS 选项卡中添加此内容[1]

import { apiInitializer } from "discourse/lib/api";
import Component from '@glimmer/component';
import { action } from "@ember/object";
import Form from "discourse/components/form";
import DiscourseURL from "discourse/lib/url";

export default apiInitializer((api) => {
    api.renderBeforeWrapperOutlet("full-page-search-filters",
        class GoToTopic extends Component {
            @action
            handleSubmit(data) {
                DiscourseURL.routeTo(`/t/${data.id}`);
            }

            <template>
                <div class="topic-id-go-to" style="margin-top: 1em;">
                    <Form @onSubmit={{this.handleSubmit}} as |form|>

                      <form.Field @name="id" @title="Topic id" as |field|>
                        <field.Input @type="number" @validation="required" />
                      </form.Field>

                      <form.Submit />
                    </Form>
                </div>
            </template>
        }
    );
});

这会在搜索页面添加一个输入框:


“提交”按钮用于转到主题[2];它不会影响搜索结果。

希望这对您有帮助!


  1. 我第一次使用 FormKit,它真的很酷! ↩︎

  2. 我无法更改按钮文本,因为这需要本地化… 这将需要一个完整的 TC 存储库,这可能有点过头了 :person_shrugging:. ↩︎

1 个赞