Drupal user_hook в пользовательском модуле - PullRequest
1 голос
/ 04 июня 2009

Модификация модуля download_count для включения информации о пользователях, скачавших файлы. Хотите показать эту информацию на страницах профиля пользователя.

Вот код:

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 ]

2 голосов
/ 04 июня 2009

Вы не хотите изменять модуль. Drupal построен очень тщательно, чтобы не взламывать ядро ​​и не вносить свой вклад. Если, конечно, вы не вернете патч.

Правильный способ состоит в том, чтобы создать собственный модуль для этого (для этого потребуется модуль пользовательских загрузок) и реализовать хук почти точно так, как вы здесь делаете.

  1. Функция запускается (модуль включен, var_dump ing или krumo'ing вызывает вывод ?, кэш очищен)
  2. Способ ввода переменных - для Drupal 5.x и ниже. В D6 вы добавляете в $ account-> content. Какую версию drupal вы используете?

Проверьте user_user () (в user.module):

  $account->content['user_picture'] = array(
    '#value' => theme('user_picture', $account),
    '#weight' => -10,
  );
0 голосов
/ 05 июня 2009
 $account->content['summary']['file_downloads'] =  array(
      '#type' => 'user_profile_item',
      '#title' => t('File Downloads'),
      '#value' => $file_str,
      '#weight' => 1
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...