ユーザープロフィールにカスタマイズ可能なリンクを追加するための小さなコンポーネントです。
表示される場所…
-
展開されたユーザープロフィール
-
ユーザーカード
設定
profile custom link field を空のままにすると、デフォルトでユーザー名が使用され、この例では次のようになります。
http://github.com/charlie
カスタムユーザー入力フィールドを使用したい場合は、値にユーザーフィールドの正確な名前を設定する必要があります。例:
-
ユーザーフィールドを作成します
-
設定をユーザーフィールド名に設定します
-
ユーザーにフィールドを入力してもらいます
/u/[username]/preferences/profile
これで http://github.com/MyRealGithubName に移動します。
より高度な実装については、複数のカスタムプロファイルリンクコンポーネント を参照してください。
「いいね!」 21
mattdm
(Matthew Miller)
2
「nofollow」は追加されますか? Akismetで送信されますか?
これは間違いなくスパマーによって使用されるでしょう!
「いいね!」 1
Firepup650
(Firepup Sixfifty)
3
ちょっとした指摘ですが、http://github.com/ ではなく https://github.com/ ですよね?
また、https ではなく http の GitHub を推奨する特別な理由があるのでしょうか?
「いいね!」 4
chapoi
4
はい、タイポでした。ありがとうございます。URL構造を再発明しているわけではありません 
全くありません。
「いいね!」 4
Julian2
(Julian R)
5
@chapoi さん、このコンポーネントを見つけられてとても嬉しいです。フォーラムに追加しました、ありがとうございます!「複数リンク」バージョンに切り替えるかもしれません。
簡単なメモですが、「プロフィールカスタムリンクアイコン」フィールドの下の説明文に余分な「the」があります 
ユーザーフィールドのフィールドタイプをもう1つ追加するのではなく、これのためにコンポーネントを追加する必要がある特定の理由がありますか?
よろしく
「いいね!」 2
chapoi
7
質問の意図がよくわかりません。ユーザーフィールドはすべて自動的にプロフィールやユーザーカードに表示されるわけではありません。
「いいね!」 2
Julian2
(Julian R)
8
チャーリーさん、
分かりにくくてすみません。ユーザーフィールドに、テキストだけでなくリンクを許可するフィールドタイプがあると素晴らしいのですが。
それとも、私たちがユーザーフィールドを全く間違って利用しているのでしょうか?現在、以下のように利用しています。
リンクがクリック可能になる代わりに、コピー&ペーストしなければなりません。
「いいね!」 1
chapoi
9
承知いたしました、ありがとうございます!
ええ、おっしゃる通りですね。ご提案いただいた件について検討させていただきます。おそらく、そうしなかった理由があるのだと思いますが、現時点ではわかりません。
「いいね!」 2
chapoi
11
確認しましたが、必要な変更は私のデザイナーのスキル(バックエンドのデータベース関連の作業)をはるかに超えています。そのため、プラグインを使用する必要があると思われます。
検討できる選択肢としては、機能リクエスト を出して、より多くの関心が寄せられるかどうかを確認することです。
よろしくお願いします!
「いいね!」 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