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


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

我试图对一个遗留的Drupal 7项目进行一些非常简单的编辑,但是由于我已经好几年没有做过Drupal的任何事情,我被一个可能相当简单的问题卡住了。

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

我已经添加了新的字段通过admin:

主页»管理»结构»内容类型»MyType

我现在希望能够在自定义模块形式alter function

中使用它们
 fuction ..._form_alter(&$form, &$form_state) {}

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

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

访问它们

首先,确保清除所有缓存(bootstrap, webform, registry)

钩子定义允许你检查$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