2013-08-17 89 views
1

我在我的網站上使用重力形式。我正在爲此創建自定義報告,我需要基於特定表單ID的重力表單字段名稱和ID。請告訴我如何才能做到這一點。獲取重力形式字段

我正在使用以下功能,但它顯示基於它的所有表單信息。它看起來很難解析它。請讓我知道任何功能,以便我可以輕鬆獲取字段名稱。

$forms = RGFormsModel::get_forms_by_id(13); 

回答

1

這並不難解析:

$fields=array(); 
foreach ($forms['fields'] as $field) { 
    $fields[]=array($field['id'] => $field['inputName']); 
} 

附:我假設你使用重力窗體< 1.7作爲RGFormsModel :: get_forms_by_id是因爲1.7

+0

注意:這不適用於Gravity Forms高級字段。 –

4

棄用的功能試試這個

function get_all_form_fields($form_id){ 
     $form = RGFormsModel::get_form_meta($form_id); 
     $fields = array(); 

     if(is_array($form["fields"])){ 
      foreach($form["fields"] as $field){ 
       if(isset($field["inputs"]) && is_array($field["inputs"])){ 

        foreach($field["inputs"] as $input) 
         $fields[] = array($input["id"], GFCommon::get_label($field, $input["id"])); 
       } 
       else if(!rgar($field, 'displayOnly')){ 
        $fields[] = array($field["id"], GFCommon::get_label($field)); 
       } 
      } 
     } 
     //echo "<pre>"; 
     //print_r($fields); 
     //echo "</pre>"; 
     return $fields; 
    } 
0
// Get the Form fields 
$form = RGFormsModel::get_form_meta($form_id); 

// Run through the fields to grab an object of the desired field 
$field = RGFormsModel::get_field($form, $field_id); 

我用上面得到一個特定的領域我想過濾的價值。 $字段包含一個包含所有所需屬性的對象。

echo $field->label  // Gets the label 
echo $field->inputName // Gets the name 
echo $field->type  // Gets the type 
echo $field->cssClass // Gets the CSS Classes as a string