2011-08-25 29 views
0

我有一個表單,並且想要生成表單的字段名稱列表。這是我目前要做的事:如何列出表單的字段名稱

$fieldnames = array(); 
foreach ($form as $key=>$val){ 
    if (substr($key, 0, 6) === 'field_'){ 
     $fieldnames[] = $key; 
    } 
} 

有沒有更好的方式來做到這一點?

更新: 只是爲了澄清...我想知道是否有一個「kludgey」這樣做的方式。例如,內容模塊是否提供了一個通過字段循環的api函數。 (我找不到一個。)

回答

0

您通過cck ...或從UI字段系統添加的字段開頭爲「field_」 ,並且此字段通常位於節點中......所以如果您是談論節點形式 和通過cck添加的字段....你是在正確的方式...但如果這個領域是以編程方式添加....所以你是在錯誤的方式

+0

嗨馬吉德,我現在意識到我的問題不明確。我修改了這個問題來澄清我在找什麼。謝謝。 – moondog

0

對不起,我不是100 %肯定,但我不認爲你可以得到所有的字段添加編程方式..但如果你添加此字段從cck或從'/管理/內容/節點類型/商店/字段'其中{商店}是您的內容鍵入您正在使用的名稱,然後您可以從{content_node_field_instance}表中獲取此字段名稱,如下所示

$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 ; 
} 

現在你有甲肝內容類型的所有字段的數組$領域...我希望這將有助於你

相關問題