如何将模块附加到drupal文章?

时间:2015-08-18 18:46:50

标签: php web drupal

我在drupal模块中有一个php函数。此函数输出一些随机文本。我想将此模块附加到Drupal文章,以便每次有人创建文章时,随机文本都会显示在其中。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

这里的解决方案是使用Drupal钩子函数来修改节点的内容。

假设您的模块名为“my_module”:,您将在my_module.module文件中添加另一个函数,如下所示:

function my_module_node_view(&$node, $view_mode, $langcode) {
    // We want to make sure this only applies to nodes of the content type "article"
    if ($node->type == "article") { 
        // Append the output of your function to the body; this could easily be added to any other field as well
        $node->body['und'][0]['value'] = $node->body['und'][0]['value'] . my_module_random_text_function();
    }
}

注意:$ node对象通过引用自动传递给此钩子函数,因此您无需担心从函数返回任何内容。

如果你想在主题层应用它,你可以在主题的template.php文件中使用theme_preprocess_node钩子,但你的原始问题表明你已经走了插件路线。