有人能指出我对Drupal $ account->内容数组的引用吗?

时间:2010-11-30 15:34:31

标签: drupal drupal-6 drupal-modules

我整个上午一直在挖掘,我找不到任何定义帐户对象的引用。

特别是,我想修改另一个drupal admin的用户hook()函数来改变它的工作方式。目前,它以dt / dd对的形式出现,没有任何css类或自定义样式,我需要能够对内容进行主题化。

  function acidfree_user($op, &$edit, &$account, $category = NULL) {
    if ($op == 'view') {
    //Pachkov.Sergey.START - MODIFIED BY MHEINZ
      $result = db_query("SELECT nid, title FROM node WHERE nid IN (SELECT nid FROM node WHERE uid=%d 
                         AND type='acidfree') ORDER BY nid desc", $account->uid);

      $i=0;
      $account->content['acidfree-albums'] = array(
        '#type' => 'user_profile_category',
        '#title' => t('Photo albums'),
      );
      while ($item = db_fetch_array($result)) {
        $title_node = $item['title'];
        $nid = $item['nid'];
        $account->content['acidfree-albums'][$i] = array(
                '#title' => t(' '),
                '#value' => l($title_node, "node/{$nid}"),
                '#class' => 'acidfree-albums',
                '#type' => 'user_profile_item',
        );
        $i++;
      }
    }
    //Pachkov.Sergey.END - MODIFIED BY MHEINZ
  }

2 个答案:

答案 0 :(得分:2)

用于显示您在hook_user中看到的dt数组的dd / $account->content来自user-profile-item.tpl.php模板。在模块或主题中使用template_preprocess_user_profile_item,您可以为这些dt / dd添加属性。

如果您需要更改$account->content数组中的某个项目,则应使用hook_profile_alter

function MODULE_profile_alter(&$account) {
  $account->content['acidfree-albums']['#title'] = t('Awesome photos!');
}

答案 1 :(得分:1)

您可以获得的最佳参考是

print_r($account->content);

并查看当前位置的跟踪(查看对象的设置位置),您可以使用

debug_print_backtrace();