theme_comment_thread_expanded函数在drupal注释模块中做了什么?

时间:2011-02-14 02:16:19

标签: drupal drupal-6 drupal-theming

function theme_comment_thread_expanded($comment, $node) {

    $links = module_invoke_all('link', 'comment', $comment, 0);

    drupal_alter('link', $links, $node, $comment);

    return theme('comment_view', $comment, $node, $links);

}

我不太了解这个功能。我希望这里有人可以帮忙解释一下。谢谢。

1 个答案:

答案 0 :(得分:2)

它收集实现hook_link()的所有模块的注释链接,并使用主题函数(theme_comment_view)格式化它们。

修改
澄清(并包括jp的评论):

$links = module_invoke_all('link', 'comment', $comment, 0);

这为所有实现它的模块(即hook_link())调用modulename_link()函数,函数参数为'comment',$ comment和0.这些模块返回链接放在注释下面(例如,报价模块返回一个链接,用于添加引用的前一个注释。函数module_invoke_all()累积了这些链接并返回它们。

drupal_alter('link', $links, $node, $comment);

此呼叫与前一个呼叫类似。它调用实​​现hook_link_alter()的模块并让它们改变链接。

return theme('comment_view', $comment, $node, $links);

这个调用主题钩子“comment_view”来格式化注释链接。通常会有这个钩子的默认实现,主题可以覆盖它。

整个函数theme_comment_thread_expanded()也可以被覆盖(例如yourtheme_comment_thread_expanded())。