api.decorateWidget - wie finde ich die Namen der Vorlagen?

Sie können decorateWidget() nicht auf einem Plugin-Outlet verwenden. Versuchen Sie stattdessen etwas wie folgt:

<script type="text/discourse-plugin" version="0.8.42">
    const h = require("virtual-dom").h;
    api.createWidget("user-card-custom-field", {
      html(attrs) {
        const userCustomFields = attrs.user.custom_fields;
        if (userCustomFields.user_field_4) {
            return h('span.poster-user-field', userCustomFields.user_field_4);
        }
      }
    });
</script>

<script type="text/x-handlebars" data-template-name="/connectors/user-card-post-names/user-card-custom-field">
    {{mount-widget widget="user-card-custom-field" args=(hash user=user)}}
</script>

mount-widget übergibt das Benutzerobjekt, das wir aus dem Plugin-Outlet im Kern verfügbar haben, und macht es in den Attributen des von uns erstellten user-card-custom-field-Widgets verfügbar.

Stellen Sie sicher, dass Sie user_field_4 nach Bedarf zu Ihren Einstellungen für „öffentliche Benutzerbenutzerfelder

8 „Gefällt mir“