3

我正在使用 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().

我的模块按源分类到标记为minecontrib的目录中。Node_save 在 contrib 中,而 myModule 在我的中。

因此,我相应地修改了代码如下:

module_load_include('inc', '../../contrib/node_clone', 'clone.pages');

但我得到同样的错误。

任何人都可以强调我做错了什么吗?

4

2 回答 2

5

采用:

require_once DRUPAL_ROOT . '/sites/all/modules/contrib/node_clone/clone.pages.inc';

module_load_include API

不要在全局上下文中使用此函数,因为它需要完全引导 Drupal,请require_once DRUPAL_ROOT . '/path/file'改用。

于 2012-12-13T14:39:30.747 回答
1

这有点误导,文件夹名为“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);
}
于 2012-12-13T14:39:18.037 回答