Ändern Sie die Standard-Gruppenseiten zu /messages

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.