我整个上午一直在挖掘,我找不到任何定义帐户对象的引用。
特别是,我想修改另一个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
}
答案 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();