我有一个表单,并希望生成表单的字段名称列表。以下是我目前的工作方式:
$fieldnames = array();
foreach ($form as $key=>$val){
if (substr($key, 0, 6) === 'field_'){
$fieldnames[] = $key;
}
}
有更好的方法吗?
更新: 只是为了澄清......我想知道是否有一种“kludgey”方式可以做到这一点。例如,内容模块是否提供循环遍历字段的api函数。 (我找不到一个。)
答案 0 :(得分:0)
您通过cck ...或从UI字段系统添加的字段以“field_”开头 这些字段通常在节点中...所以如果你正在谈论节点形式 和cck添加的字段......你的方式是正确的...但如果这些字段是以编程方式添加的......所以你的方式是错误的
答案 1 :(得分:0)
$result_handle = db_query("select field_name from {content_node_field_instance} where
`type_name` = '%s'","yourContentTypeName") ;
while($result_object = db_fetch_object($result_handle)){
$fields[] = result_object->field_name ;
}
现在您拥有数组$ fields,其中包含您内容类型的所有字段...我希望这会对您有所帮助