我在drupal模块中有一个php函数。此函数输出一些随机文本。我想将此模块附加到Drupal文章,以便每次有人创建文章时,随机文本都会显示在其中。我怎样才能做到这一点?
答案 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钩子,但你的原始问题表明你已经走了插件路线。