2012-07-23 80 views
0

我写过一个drupal模块。模块中的一个函数是一个钩子函数,它具有函数名称形式:hook_form_FORM_ID_alter,其中部分FORM_ID取决于我想要更改的表单的ID。我想要更改形式的表单ID存储在数据库中作为持久变量,我想要的是能够使用这些来声明时声明函数的名称。动态函数定义(?)

我的表单id数组可能随时发生变化,hook_form_FORM_ID_alter对每个表单应该是相同的,所以我只希望函数定义中的函数名称根据表单id数组的内容而改变。我尝试了一些类似动态函数定义的搜索功能,但这似乎并不是我以前的样子。

我知道我可以很容易地使用hook_form_alter,然后每次只检查一次id,但是如果可能的话,我宁愿这样做。

+0

由于缓存,你不能手动添加表单alter函数。定义一个form_alter()和一个if语句就是它的正常工作方式。 – 2012-07-23 10:31:41

+0

好的。我想我会这样做。 – numfar 2012-07-24 13:31:41

回答