web-dev-qa-db-ja.com

コメントとノードtwigテンプレートで著者のカスタムフィールド情報をレンダリングする方法は?

著者の氏名と他の著者の税関フィールド情報をcomment.html.twigとnode.html.twigに表示しようとしています。しかし、「First Name」、「Last Name」、Auther UIDなどのユーザー用に作成したフィールドは、コメントで表示されません。

コメント作成者のために次のコードを試してみました

{{ comments.author.field-first_name.entity.value }}
{{ comment.author.user_picture.0.entity.uri.value }}
{{ comments.author.uid.entity.value }}

そして、私はノードの作者のために次のコードを試しました:

{{ node.author.field-first_name.entity.value }} {{ node.author.user_picture.0.entity.uri.value }} {{ node.author.uid.entity.value }}

アイデア、コメントテンプレートでこの情報をどのようにレンダリングするのですか?

1
Punya Ruchal

ノードの場合:

{{ node.getOwner.field_first_name.value }}
{{ file_url(node.getOwner.user_picture.entity.fileuri) }}
{{ node.getOwner.uid.value }}

コメント:

{{ comment.getOwner.field_first_name.value }}
{{ file_url(comment.getOwner.user_picture.entity.fileuri) }}
{{ comment.getOwner.uid.value }}
1
No Sssweat

解決策を見つけるには、最初に、表示したい情報が実際のレンダー配列にあるかどうかを確認します。変数ダンプを使用してこれを行うことができます。

{{ dump(comments|keys }}

または

{{ dump(comments.author|keys }}

(kintがインストールされたdevelがある場合は、このvor変数ダンプを使用できます。)

これで、次のように表示できます。名前のフィールドがレンダー配列にない場合、テンプレートで表示することはできません。

あなたのレンダーアレイでカスタム情報を取得するには、おそらくこの回答が役に立ちます: カスタムユーザーフィールドを印刷するにはどうすればよいですか?

0
James Butler