重力形式-动态流行。锁链 Select

Gravity Form-Dynamic Pop. the Chained Select


这里有点新手。自学PHP/java/etc。作为一个去。我一直在使用 THIS 使用 GF 的文档页面来创建链式 Select,它将提取一个公司名称(来自以前的 GF 条目)作为父级,但是我在处理子级(这是公司的特点)。

当我使用以下代码让我的 Chained Select 的 Parent 触发时,我为自己感到非常自豪:

add_filter("gform_pre_render_14", "populate_companies");
add_filter("gform_admin_pre_render_14", "populate_companies");
add_filter( "gform_chained_selects_input_choices_14_5_1", "populate_companies");
 function populate_companies( $form, $input_items, $form_id, $field, $input_id, $chain_value ){
  if( $form["id"] != 14 )
  
         return $form;
   
  $items = array();
   
$form_id = '7';
$entries = GFAPI::get_entries( $form_id );

   if (is_array($entries))
{
 foreach($entries as $fcompany) $items[] = array( 'value' => rgar( $fcompany, '4' ), 'text' => rgar( $fcompany, '4' ), 'isSelected' => false );
}
     foreach($form["fields"] as &$field)
        if($field["id"] == 5){
            $field["choices"] = $items;
        }
    return $form;
}

现在,该代码可以工作了。也许它不漂亮,但它有效。因此下一步将是让它填充 Child 字段。我已经能够做到这一点,但我很难过...

add_filter("gform_pre_render", "populate_features");
add_filter("gform_admin_pre_render", "populate_features");
add_filter( "gform_chained_selects_input_choices_14_5_2", "populate_features");
 function populate_features( $form, $input_items, $form_id, $field, $input_id, $chain_value ){
  if( $form["id"] != 14 )
  
         return $form;
   
  $items = array();
  $selected_fcompany = $chain_value[ "{$field->id}.1" ];
   if( ! $selected_fcompany ) {
        return $input_choices;
    }
   
$form_id = '7';
$entries = GFAPI::get_entries( $form_id );

   if (is_array($entries))
{
 foreach($entries as $cfeature) $items[] = array( 'value' => rgar( $cfeature, '10' ), 'text' => rgar( $cfeature, '10' ), 'isSelected' => false );
}
     foreach($form["fields"] as &$field)
        if($field["id"] == 5){
            $field["choices"] = $items;
        }
    return $items;
}

我觉得 chained_value 有问题。哎呀,如果我能让它通过第一个代码段中的第一个 foreach 工作,我将跳起欢乐的舞蹈。有什么想法吗?

最终选择了 Gravity Plus 插件。它真的很方便,但在一张表格上不能超过一个,这有点蹩脚。它需要一些工作才能正常工作,但如果您需要帮助,请告诉我!

https://gravityplus.pro/gravity-forms-dynamic-population/