# Benutzerdefinierter Profil-Link

**URL:** <https://meta.discourse.org/t/custom-profile-link/295470>\
**Category:** Theme component\
**Tags:** custom-profile-link\
**Created:** [15. Februar 2024 um 12:23 UTC](https://meta.discourse.org/t/custom-profile-link/295470 "2024-02-15T12:23:30Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![Joseph\_Tucker1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/joseph_tucker1/32/253029_2.png) [@Joseph\_Tucker1](https://meta.discourse.org/u/Joseph_Tucker1)\
**Post date:** [30. Juli 2024 um 18:57 UTC](https://meta.discourse.org/t/custom-profile-link/295470/12 "2024-07-30T18:57:32Z")

</div>

Diese Lösung ist großartig und ich hoffe, wir können sie verbessern. Unser Profil-Link ist im Format „[https://www.domain.com/user/[USER-ID]/“](https://www.domain.com/user/%5BUSER-ID%5D/%E2%80%9C). Der abschließende Schrägstrich ruiniert die Lösung für uns. Ich kann eine URL-Weiterleitung hinzufügen, aber eine bessere Lösung wäre, den Code anpassungsfähiger zu gestalten. Ich möchte funktionierende echte Links zurück zur Website!

Ich habe versucht, das Plugin in ein Theme zu konvertieren, um das Javascript zu verbessern, aber diese CONVERT Discourse-Funktion scheint nicht zu funktionieren.

Können Sie das Update so gestalten, dass es Funktionalität hinzufügt?

```plaintext

import Component from "@glimmer/component";
import { tracked } from "@glimmer/tracking";
import { service } from "@ember/service';

export default class ProfileCustomLink extends Component {
  @service site;
  @tracked customLinkUrl;
  @tracked customLinkFieldId;
  @tracked showCustomLink = false;
  @tracked user = this.args.model.username;
  @tracked userFields = this.args.model.user_fields;

  constructor() {
    super(...arguments);

    if (settings.profile_custom_link_field) {
      const siteUserFields = this.site.user_fields;

      if (!siteUserFields) {
        return;
      }

      const customLinkField = siteUserFields.filterBy(
        "name",
        settings.profile_custom_link_field
      )[0];

      if (!customLinkField) {
        return;
      }

      this.customLinkFieldId = this.userFields[customLinkField.id];
      if (!this.customLinkFieldId) {
        return;
      } else {
        this.showCustomLink = true;
        if (settings.profile_custom_link_prefix.includes("[CUSTOM-LINK-FIELD-ID]")) {
          const url = settings.profile_custom_link_prefix.replace("[CUSTOM-LINK-FIELD-ID]", this.customLinkFieldId);
          this.customLinkUrl = url;
        } else {
          const url = settings.profile_custom_link_prefix + this.customLinkFieldId;
          this.customLinkUrl = url;
        }
      }
    } else {
      const url = settings.profile_custom_link_prefix + this.user;
      this.customLinkUrl = url;
      this.showCustomLink = true;
    }
  }
}

```

---

_[View the full topic](https://meta.discourse.org/t/custom-profile-link/295470)._
