kid*_*rax 2 drupal drupal-6 drupal-modules
我想覆盖comment_save函数.有没有办法覆盖它,所以我可以添加我的功能?
创建一个触发器如http://drupal.org/node/375833是最好的方法吗?这似乎不太可靠,因为它发生在事后.
顺便说一句,这是在D6.
这很棘手.首先,我建议你去看看你是否可以使用hook_comment管理你需要的东西( http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_comment/ 6).这真的更像是需要它.
如果你真的需要覆盖comment_save,那么通常一个好的选择是环顾一下它所称的东西.对于这种情况,你很幸运 - 仅在comment.form_submit内的comment.module的第1542行的一个地方调用comment_save.
现在,comment_form_submit是一个表单提交功能-而不是替换comment_save,我们可以改为让comment_form_submit我们自己的定制版本(和争论的缘故,我们假定我们在"custom_module"模块工作) -所以我会要做的就是创建一个名为custom_module_comment_form_submit新功能,它要求comment_save的变种,我感兴趣的使用,然后用hook_form_alter()(http://api.drupal.org/api/drupal/developer--hooks-- core.php中/功能/ hook_form_alter/6)来设置$形式[ '#提交']来替换值'comment_form_submit'与'custom_module_comment_form_submit'.
这并不完美 - 如果您安装另一个使用comment_save的模块,那么您需要找到类似的解决方法.如果在Drupal中发现了一个错误或安全漏洞,这个漏洞已在您正在此处工作的部分中修复,那么您将不会在代码中修复该安全漏洞.但如果你绝对必须替换comment_save,这几乎是唯一的方法.
| 归档时间: |
|
| 查看次数: |
6242 次 |
| 最近记录: |