我正在创建一个模块,它为每种内容类型提供单独的节点概述页面。 我的问题在于尝试重新创建节点操作下拉列表。
在节点模块中,这是通过使用'node_operations'钩子调用module_invoke_all函数来完成的。 这将返回实现“node_operations”挂钩的所有模块的数组。 在我的例子中,有以下两个模块:'node'和'nodewords'。
当我在模块中调用module_invoke_all('node_operations')时,它只返回'nodewords'模块,而不是'node'模块。 这是因为'node_node_operations'功能不存在。
任何人都可以解释这种行为吗?
答案 0 :(得分:0)
看起来钩子在node.admin.inc中,它不会自动包含在内。见http://api.drupal.org/api/drupal/modules--node--node.admin.inc/function/node_node_operations/7
这是一个错误,您应该看看是否已经存在问题,如果没有,请创建一个新问题。
无论如何,作为一种解决方法,您可以在调用钩子之前包含node.admin.inc文件:
<?php
module_load_include('inc', 'node', 'node.admin');
?>
(是的,奇怪的语法;))