2009-06-04 7 views
1

download_countモジュールを変更して、ファイルをダウンロードしたユーザーに関する情報を追加します。ユーザーのプロフィールページにこの情報を表示したいここでカスタムモジュールのDrupal user_hook

はコードです:

function download_count_user($op, &$edit, &$account, $caterory = NULL) { 
    if ($op == 'view') 
    { 

    $result = db_query("SELECT filename FROM file_downloads_users WHERE user_id = %d", $account->uid); 

    while ($file_array = db_fetch_object($result)) { 
     $file_str .= $file->filename . '<br/>'; 
    } 

    $items['downloads'] = array(
    'title' => t('Files'), 
    'value' => $file_str, 
     'class' => 'member' 
    ); 
    return array(t('Downloads')=>$items);  
    } 

} 

は私にすべてのエラーを与えるものではありませんが、いずれかのアカウントページに何も表示されません。

答えて

2

モジュールを変更する必要はありません。 Drupalはコアやcontribをハックすることを避けるために非常に慎重に構築されています。もちろん、あなたがパッチを返すのでない限り。

適切な方法は、独自のカスタムモジュールを作成して(ユーザーがモジュールをダウンロードする必要があります)、ここで行っていることをほぼ正確に実装することです。

  1. 機能は、あなたの変数をキーイングしているラン(モジュールが有効になって、のvar_dump ingやkrumo'ingが出力?,キャッシュクリアの原因となる)
  2. 方法は、以下のDrupal 5.xとのためにあるなっています。 D6では、$ account-> contentに追加します。どのバージョンのdrupalを使用していますか?

(user.module中))(user_userをチェックアウト:

$account->content['user_picture'] = array(
    '#value' => theme('user_picture', $account), 
    '#weight' => -10, 
); 
+0

私は6の上だと私は$アカウントに追加しようとした、どのようにあなたです – user87771

+0

を動作しませんでしたそれをやる。 d6では、あなたが返すものは無視されます。 hook_宣言が参照(&$ account)などであることを確認してください。 http://api.drupal.org/api/function/hook_user/6 – jskulski

+0

ありがとう!それは働いた – user87771

0
$account->content['summary']['file_downloads'] = array(
     '#type' => 'user_profile_item', 
     '#title' => t('File Downloads'), 
     '#value' => $file_str, 
     '#weight' => 1 
    ); 
関連する問題