我想添加一个自定义字段,该字段的值将来自外部API。例如,值可能是:
array(
'v1'=>'value1'
'v2'=>'value2'
'v3'=>'value3'
)
所以,我想在下拉菜单中将它们显示为内容类型文章中的字段。
答案 0 :(得分:0)
我不是正确答案,但根据我的观点,存储第三方数据库的所有值并不是更好。
为了实现你的目标,我会这样做。
内容类型包含另外两个字段的文章:
以上字段将被隐藏。
在渲染表单之前E.g:通过使用hook_form_alter,我们可以连接到第三方API并获取值并填入选择列表
E.g:
function myhook_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'article'){
/*
Third Party API connection code which will generate $dropdown_array.
*/
$options = $dropdown_array;
// Alter form
$form['title'] = array(
'#type' => 'select',
'#default_value' => '1',// set default value.
'#options' => $options,
);
}//endif
}
最后一步将在提交表单之前我们将选定的ID和值分配给我们的新字段。
答案 1 :(得分:0)
您应该创建一个自定义模块来实现您的字段
可以找到一个很好的教程HERE
您可以查看examples module的第7版,特别是代码中包含非常好文档的field_example。
一旦你了解它(钩子)是如何工作的,那么真的没有那么多代码可以编写。
这样做可能比尝试更改其他类型的字段要好得多,它应该按预期自动与视图集成。