RGJ
(Richard - Communiteq)
1
検索結果のスタイルを調整したいと考えています(右上にある虫眼鏡アイコンのドロップダウン)。これは、テンプレートを使用するのではなく、動的にコンポーネントを生成しているようです(app/assets/javascripts/discourse/app/lib/search.js)。
api.modifyClass("component:search-result-post", {
didInsertElement() {
this._super(...arguments);
},
});
またはそれに類するものを実行しようとしましたが、うまくいきませんでした。
生成されたHTMLをトリガー/イベントで取得し、変更するにはどうすればよいでしょうか?
「いいね!」 2
リチャード様
どのような変更をご希望か、詳しく教えていただけますでしょうか?
まず、以下を調整する必要があるかと思います。
api.reopenWidget(`search-result-post`, {
html(attrs) {
//
}
})
これは post 用ですが、他にも tag、category、group、user、topic があります。
「いいね!」 4
RGJ
(Richard - Communiteq)
4
更新:そのウィジェットのHTML生成は非常に複雑で、多くの外部依存関係がありました。また、そのコード全体をプラグインにコピーしたくなかったので、次のようなことを行いました。
api.reopenWidget(`search-result-topic`, {
html(attrs) {
const html = this._super(attrs);
// 必要に応じてHTMLを変更します
return html;
}
});
すでに生成されたHTMLを変更するのは、おそらく最もエレガントな方法ではありませんが、コアからプラグインに大量のコードをコピーする必要がなくなったため、将来のコアアップデートに対してプラグインがより堅牢になりました。
「いいね!」 1
はい、私も自分の側で試したときにそれに気づきました。ここにはあまり選択肢がないと思います。
「いいね!」 1
RGJ
(Richard - Communiteq)
クローズされました:
6
このトピックは、最後の返信から30日後に自動的にクローズされました。新しい返信は許可されていません。