Truest
1
サイドバー(ハンバーガーメニュー)の「詳細」またはサイドバーの一番下にあるボタンとして追加し、JavaScriptに接続したいです。そのためにDiscourseのサイドバーにどのようにアクセスすればよいですか?
以下を試しましたが、うまくいきませんでした。
コンポーネントのに配置しました。
<div class="sidebar-custom-sections">
<ul class="sidebar-more-section-links-details-content-main">
<li data-list-item-name="Install" class="sidebar-section-link-wrapper" id="sidebar_install_wrapper">
<a href="#" rel="noopener noreferrer" target="_self" data-link-name="Install" class="sidebar-section-link sidebar-row" id="sidebar_install_button">
<span class="sidebar-section-link-prefix icon">
<svg class="fa d-icon d-icon-download svg-icon prefix-icon svg-string" xmlns="http://www.w3.org/2000/svg">
<use href="#download"></use>
</svg>
</span>
<span class="sidebar-section-link-content-text">
Install
</span>
</a>
</li>
</ul>
</div>
Truest
3
api.addCommunitySectionLink({
name: "unread",
route: "discovery.unread",
title: I18n.t("some.unread.title"),
text: I18n.t("some.unread.text"),
icon: "fa-envelope"
});
HTMLのbodyセクションにこのように配置しましたが、追加されていないようです。このように配置することはできませんか?
代わりに Head で以下のコードを使用してください。
<script type="text/discourse-plugin" version="0.8">
api.addCommunitySectionLink({
name: "unread",
route: "discovery.unread",
title: I18n.t("some.unread.title"),
text: I18n.t("some.unread.text"),
icon: "fa-envelope"
});
</script>
API を使用したい場合は、<script type="text/discourse-plugin" version="0.8"> が重要です。
これでうまくいくはずです。
「いいね!」 1
Truest
5
api.addCommunitySectionLink({
name: "install",
route: "/install",
title: "install",
text: "install",
icon: "download"
});
サイドバーのビューに上記のコードを追加しようとしましたが、機能しなかったため、既存のパスを参照して以下の形式で記述しました。しかし、ボタンは表示されるものの、押してもスクリプトが正常に機能しないようです。奇妙なことに、作成したボタンではなく、「Topic」ボタンを押すとスクリプトが機能します。接続するスクリプトはHTMLのheadにも配置しました。
api.addCommunitySectionLink({
name: "install",
route: "discovery.latest",
title: "install",
text: "install",
icon: "download"
});
「いいね!」 1