在 Drupal 中查找“更改”特定表单的模块列表
Posted
技术标签:
【中文标题】在 Drupal 中查找“更改”特定表单的模块列表【英文标题】:Find a list of modules that 'altered' a specific form in Drupal 【发布时间】:2011-04-28 01:26:02 【问题描述】:是否有技巧、插件或补丁可以让我找出哪些模块 altered 特定形式?
所有 hook_form_alters 的列表并不难实现。但我只想列出那些实际上改变了我的表格的人。
模块可以通过通用modulename_form_alter()
和modulename_form_FORMID_alter()
更改表单,如果两者都考虑在内会很好。
【问题讨论】:
【参考方案1】:drupal_prepare_form 函数调用所有 hook_form_alter 函数。在这个函数中,没有存储任何实现 hook_form_alter 的模块。但是,那里有一个容器 ($data) 可以拉出所有的更改函数,然后使用 drupal_alter 应用。获取此数据需要修改此文件(参考:Drupal 6.19 中 /includes/form.inc 中的第 543 行)。
【讨论】:
我已经在那里闲逛了。但是 $data 是相当“流动的”,因此将一个 $data 与另一个 $data 进行比较,以找出一个表单是否被“更改”是行不通的。它会(以某种方式)总是返回 TRUE:$data 在每次迭代中都会以某种方式发生变化。以上是关于在 Drupal 中查找“更改”特定表单的模块列表的主要内容,如果未能解决你的问题,请参考以下文章