Drupal 6:如何实现一个钩子?

时间:2011-02-11 17:46:48

标签: drupal drupal-6 drupal-files

我正在使用Drupal 6和filefield module

我创建了一个简单的表单来将图像上传到服务器。我想在上传文件之前重命名该文件。我注意到在field_file_save_upload函数中,提到实现hook_file_insert允许您操作文件的属性。我不确定如何实现这个钩子。我应该在新模块中实现它还是直接在field_file.inc文件中实现它?它应该命名为field_file_insert吗?

文档说明如下:

/**
 * Save a file upload to a new location.
 * The source file is validated as a proper upload and handled as such. By
 * implementing hook_file($op = 'insert'), modules are able to act on the file
 * upload and to add their own properties to the file.
 ...
 */
 function field_file_save_upload($source, $validators = array(), $dest = FALSE) 

1 个答案:

答案 0 :(得分:2)

要调用一个钩子,只需将'hook_'重命名为模块的名称就像这样

在你的模块中的某个地方:

function MYMODULENAME_file_insert(.....){
  // Do things
}

同样仅供参考:提供了钩子,因此您无需修改​​core / contrib代码来覆盖/补充现有功能。建议不要修改core / contrib文件,除了提供以补丁形式提供的新通用功能:)