我正在使用node_clone模块效果很好,但我的项目中需要使用自定义模块中的node_clone函数。所以我输入了以下代码:
module_load_include('inc', 'node_clone', 'clone.pages');
function mymodule_init(){
clone_node_save(118);
}
该代码返回Fatal error: Call to undefined function clone_node_save()
.
我的模块按源代码分类到标记为 mine 和 contrib 的目录中。Node_save在贡献中,而myModule在我的
。因此,我相应地修改了代码如下:
module_load_include('inc', '../../contrib/node_clone', 'clone.pages');
但我得到同样的错误。
我做错了什么?
使用:
require_once DRUPAL_ROOT . '/sites/all/modules/contrib/node_clone/clone.pages.inc';
从module_load_include API :
不要在全局上下文中使用此函数,因为它需要Drupal 要完全引导,请改用
require_once DRUPAL_ROOT . '/path/file'
。
这有点误导,该文件夹名为"node_clone",但该模块实际上称为"克隆",因此您需要:
module_load_include('inc', 'clone', 'clone.pages');
hook_init()
运行得很早,所以如果你事先不需要克隆模块的功能,你最好将代码移到钩子中:
function mymodule_init(){
module_load_include('inc', 'clone', 'clone.pages');
clone_node_save(118);
}