drupal 7 如何添加新字段并在自定义模块 form_alter 函数中访问它们

drupal 7 how to add new fields and access them in a custom module form_alter function

我正在尝试对遗留的 Drupal 7 项目进行一些非常简单的编辑,但是多年来我一直没有使用 Drupal 做任何事情,我被困在一个可能非常简单的问题上。

我正在尝试向自定义模块中的表单添加一些额外的字段。

我通过管理员添加了新字段:

Home » Administration » Structure » Content types » MyType

我现在希望能够在自定义模块表单 alter function 中使用它们

 fuction ..._form_alter(&$form, &$form_state) {}

当我尝试转储 $form 变量的内容时,我可以看到以前存在的字段,但我没有看到我添加的任何新字段。

如何将我的字段添加到自定义模块中的表单中,以便可以通过 _form_alter

访问它们

首先,确保清除所有缓存(bootsrap、webform、注册表)

挂钩定义允许您检查 $form_id 以确保您转储正确的形式

yourmodulename_form_alter(&$form, &$form_state, $form_id){
  dsm($form_id); // or var_dump($form_id) if you don't have devel module
}

或直接提出条件:

yourmodulename_form_alter(&$form, &$form_state, $form_id){
  if($form_id == 'myformid') dsm($form); // or var_dump($form) if you don't have devel module
}

如果您有更多信息,请将其添加到 post