ユーザー画像の代わりにカスタムユーザーフィールド(field_avatar)の画像を印刷しようとしています。どうして?ユーザー画像ファイルディレクトリはトークンを受け入れません。つまり、ディレクトリに100k個のファイルがあり、Webサイトの速度が低下するシナリオに遭遇する可能性があります。
何時間も答えをググるので、これは私が読んだ最高のソリューションです。
カスタムomega 4サブテーマに配置されたcomment.tpl.phpに、このコードを追加しました。
<?php print render(field_view_field('user', $user, 'field_avatar')); ?>
ただし、上記のコードはデフォルトのfield_avatar画像を印刷します!コメントIDに基づくfield_avatarではありませんか?または作者のUID?
知恵を賢く落としてください!
うまくいきました!私はuser_load($ comment-> uid)を使用して作成者の関係をロードしました。
コードをサブテーマのcomment.tpl.phpのコピーに配置しました。
<?php print render(field_view_field('user',user_load($comment->uid), 'YOUR-CUSTOM-USER-FIELD'));?>
乾杯と幸運を!
現在ログインしている$ userではなく、コメントの$ authorを参照する必要があります。幸い、$ authorはtplファイルのパラメーターとして渡されます。これを試してみてください。
<?php
print render(field_view_field('user', $author, 'field_avatar'));
?>