カスタムプロフィールリンク

:discourse2: 概要 ユーザープロフィールにカスタムリンクを追加します
:hammer_and_wrench: リポジトリ GitHub - discourse/discourse-profile-custom-link
:question: インストールガイド テーマまたはテーマコンポーネントのインストール方法
:open_book: Discourseテーマ初心者の方へ Discourseテーマ使用の初心者ガイド

このテーマコンポーネントをインストール

ユーザープロフィールにカスタマイズ可能なリンクを追加するための小さなコンポーネントです。

表示される場所…

  1. 展開されたユーザープロフィール

  2. ユーザーカード

設定

profile custom link field を空のままにすると、デフォルトでユーザー名が使用され、この例では次のようになります。

http://github.com/charlie

カスタムユーザー入力フィールドを使用したい場合は、値にユーザーフィールドの正確な名前を設定する必要があります。例:

  1. ユーザーフィールドを作成します

  2. 設定をユーザーフィールド名に設定します

  3. ユーザーにフィールドを入力してもらいます
    /u/[username]/preferences/profile

これで http://github.com/MyRealGithubName に移動します。


より高度な実装については、複数のカスタムプロファイルリンクコンポーネント を参照してください。

「いいね!」 21

「nofollow」は追加されますか? Akismetで送信されますか?

これは間違いなくスパマーによって使用されるでしょう!

「いいね!」 1

ちょっとした指摘ですが、http://github.com/ ではなく https://github.com/ ですよね?

また、https ではなく http の GitHub を推奨する特別な理由があるのでしょうか?

「いいね!」 4

はい、タイポでした。ありがとうございます。URL構造を再発明しているわけではありません :winking_face_with_tongue:

全くありません。

「いいね!」 4

@chapoi さん、このコンポーネントを見つけられてとても嬉しいです。フォーラムに追加しました、ありがとうございます!「複数リンク」バージョンに切り替えるかもしれません。

簡単なメモですが、「プロフィールカスタムリンクアイコン」フィールドの下の説明文に余分な「the」があります :slight_smile:

ユーザーフィールドのフィールドタイプをもう1つ追加するのではなく、これのためにコンポーネントを追加する必要がある特定の理由がありますか?

よろしく

「いいね!」 2

よく見つけましたね。:+1: これで整理されるはずです。

「いいね!」 4

質問の意図がよくわかりません。ユーザーフィールドはすべて自動的にプロフィールやユーザーカードに表示されるわけではありません。

「いいね!」 2

チャーリーさん、

分かりにくくてすみません。ユーザーフィールドに、テキストだけでなくリンクを許可するフィールドタイプがあると素晴らしいのですが。

それとも、私たちがユーザーフィールドを全く間違って利用しているのでしょうか?現在、以下のように利用しています。

リンクがクリック可能になる代わりに、コピー&ペーストしなければなりません。

「いいね!」 1

承知いたしました、ありがとうございます!

ええ、おっしゃる通りですね。ご提案いただいた件について検討させていただきます。おそらく、そうしなかった理由があるのだと思いますが、現時点ではわかりません。

「いいね!」 2

素晴らしい、ありがとう! :bouquet:

「いいね!」 1

確認しましたが、必要な変更は私のデザイナーのスキル(バックエンドのデータベース関連の作業)をはるかに超えています。そのため、プラグインを使用する必要があると思われます。

検討できる選択肢としては、機能リクエスト を出して、より多くの関心が寄せられるかどうかを確認することです。

よろしくお願いします!

「いいね!」 2

このソリューションは素晴らしいので、改善にご協力いただければ幸いです。当社のプロフィールリンクは「https://www.domain.com/user/[USER-ID]/」の形式です。末尾のスラッシュが当社のソリューションを台無しにしています。URL書き換えを追加することはできますが、より良い解決策は、コードをより適応性の高いものにすることです。機能する実際のサイトへのリンクが欲しいです!

プラグインをテーマに変換しようとしましたが、そのCONVERT Discourse機能は機能していないようです。

機能を追加するようにアップデートしてもらえますか?


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;
    }
  }
}

@Julian2 ここに機能リクエストを投稿しました。このトピックに関するあなたの投稿には気づきませんでした。

「いいね!」 2