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

모듈을 수정하고 싶지는 않습니다. 드루팔은 핵심이나 기여를 해킹 할 필요가 없도록 아주 조심스럽게 만들어졌습니다. 물론 패치를 제공하지 않는 한.

올바른 방법은 사용자 정의 모듈을 만들어서 (사용자 다운로드 모듈이 필요함) 여기에서하는 작업을 거의 정확히 구현하는 것입니다.

  1. 기능이 실행을 받고있다 (모듈이 사용하는 보내고 또는 krumo'ing 클리어 출력? 캐시가 발생 위해서 var_dump)
  2. 당신이 당신의 변수를 키 입력하는 방법은 아래의 드루팔 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 
    ); 
관련 문제