Es handelt sich nicht um normale Links. Sie werden mit einer Ember-Komponente link-to gehandhabt, und es ist ein wenig Routing damit verbunden.
Der einfachste Weg, dies zu tun, ist, den Klick auf dieses Element abzufangen und dort Ihre Arbeit zu erledigen. Dies kommt in den common > header eines Themas.
data-template-name="/connectors/group-index-box-after/link-to-group-inbox"
<script type="text/discourse-plugin" version="0.8">
const DiscourseURL = require("discourse/lib/url").default;
api.registerConnectorClass('group-index-box-after', 'link-to-group-inbox', {
setupComponent(args) {
const group = args.model;
if (group.is_group_user && group.has_messages) {
const groupLink = document.querySelector(`.group-box.${group.name}`);
const newHref = `/g/${group.name}/messages`;
// aktualisiert den Browsertitel und behandelt neue Tabs
groupLink.href = newHref;
// leitet den Link weiter
groupLink.addEventListener("click", (event) => {
DiscourseURL.routeTo(newHref);
event.preventDefault();
}, {once: true})
}
}
});
</script>
Wenn der Benutzer Mitglied der Gruppe ist und die Gruppe Nachrichten hat, wird er zur Inbox weitergeleitet. Andernfalls wird auf die Standardseite /members zurückgefallen.