2009-06-04 6 views
1

Modification du module download_count pour inclure des informations sur les utilisateurs qui ont téléchargé des fichiers. Voulez-vous afficher cette information sur les pages de profil des utilisateurs?Drupal user_hook dans le module personnalisé

Voici le code:

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);  
    } 

} 

ne me donne pas d'erreur, mais ne montre rien sur ma page de compte non plus.

Répondre

2

Vous ne souhaitez pas modifier un module. Drupal est construit très très soigneusement pour éviter d'avoir à pirater core ou contrib. Sauf si vous contribuez à un correctif.

La bonne façon est de créer votre propre module personnalisé pour cela (qui nécessiterait le module de téléchargements de l'utilisateur) et d'implémenter le crochet presque exactement ce que vous faites ici.

  1. La fonction devient l'exécution (module activé, var_dump ING ou krumo'ing provoque la sortie ?, cache effacé)
  2. La façon dont vous masquez vos variables est 5.x Drupal et au-dessous. En D6, vous ajoutez à $ compte-> contenu. Quelle version de drupal utilisez-vous?

Check out user_user() (en user.module):

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

je suis sur 6 et j'ai essayé d'ajouter au compte $, n'a pas fonctionné – user87771

+0

Voilà comment vous fais le. En d6, il ignorera tout ce que vous y retournerez. Assurez-vous que votre déclaration hook_ est par référence (& $ compte), etc. http://api.drupal.org/api/function/hook_user/6 – jskulski

+0

Merci! ça a marché – user87771

0
$account->content['summary']['file_downloads'] = array(
     '#type' => 'user_profile_item', 
     '#title' => t('File Downloads'), 
     '#value' => $file_str, 
     '#weight' => 1 
    ); 
Questions connexes