web-dev-qa-db-ja.com

Drupal 7:ユーザープロファイルをカスタマイズするにはどうすればよいですか?プロファイル2フィールドを追加するにはどうすればよいですか?

User/nの下のプロファイルには、プロファイルの写真とユーザー名のみが表示されます。

オメガのサブテーマを使用しています。デフォルトのuser-profile.tpl.phpファイルをコピーして貼り付け、すべてを削除して、次の2行を追加しました。

print drupal_render(field_view_field('profile2', $profile['main'], 'field_nombrecompleto1'));
print $field_profile_nombre_completo['value'];

2行目は元のコアプロファイルフィールドを参照し、1行目はインポートされたフィールドを参照しています(D7にアップグレードする前に、D6の移行モジュールを使用してインポートしました)。

どのフィールドも印刷されません。これをテンプレートの上部に追加しました:

print "<pre>";  
$vars = get_defined_vars();
print_r($vars);  
print "</pre>";

そして何も起こらなかった。そのため、このコードをpage.tplファイルの先頭に追加しました。変数のリスト全体が表示されました。最上部に印刷されます:

[template_file] => sites/all/themes/liga/templates/page.tpl.php

そして、いくつかの時点で、(コアプロファイル)フィールドを実際に認識します。

    [content] => Array
                                (
                                    [content] => Array
                                        (
                                            [system_main] => Array
                                                (
                                                    [field_profile_nombre_completo] => Array
                                                        (
                                                            [#theme] => field
                                                            [#weight] => 0
                                                            [#title] => Apellido y Nombres
                                                            [#access] => 1
                                                            [#label_display] => hidden
                                                            [#view_mode] => full
                                                            [#language] => und
                                                            [#field_name] => field_profile_nombre_completo
                                                            [#field_type] => text
...

次に、ユーザープロファイルテンプレートのすべてを削除して、XXXXXXだけを印刷しましたが、印刷されませんでした。それでもプロフィール画像とユーザー名を印刷します。

ここで2つの問題があります:テーマフォルダー内のファイルを認識しないためにプロファイルテンプレート(user-profile.tpl.php)をカスタマイズする方法、およびユーザープロファイル内のprofile2フィールド情報を印刷する方法。

誰かが私にいくつかの洞察や手がかりを与えることを願っています。ありがとう!!!

ロザムンダ

5
Rosamunda

自分の質問に答える必要があるかどうかはわかりません。2日後には何の返答も得られなかっただけでなく(それ自体は悪いことではなく、誰も「答える」ことができないため)、マイナス1ポイントですが、何の説明もなく、失礼だと思います。

とにかく、私が自分で問題を見つけたので、他の人も同じ問題を抱えている可能性があり、良き市民として、それは " Display Suite "モジュールであったと言います。

そのモジュールは、45.400以上のサイトにインストールされており、私のDrupalインストールがuser-profile.tpl.phpファイルを認識しなかった唯一の理由でした。

私はもっ​​と注意深く読むつもりですDS readme、チュートリアルとスクリーンキャストはそこにあります。私が思っていたよりも複雑なモジュールだからです。しかし、人々はそれを知っているはずです(少なくとも正しいすぐに使える、コアプロファイルフィールドがいくつかあるD7インストール、Profile2がインストールされていて、デフォルトの構成に微調整はありません)。

乾杯。

ロザムンダ

10
Rosamunda

コアのuser_profile.tpl.phpファイルをsites/all/theme/templateにコピーする必要があります。今では完璧に機能します。そして、あなたはprofil2フィールドを印刷したいなら、あなたは$ user_profile配列で見つけることができます。 $ user_profile配列は、ユーザーに関連するすべてのデータを出力します。

2
Ajay Gadhavana