我正在尝试使用谷歌表格中的数据动态填充下拉菜单中可供选择的选项。数据位于 A 列(目前为 A2:A4,但这可能会发生变化),并将包括可用员工的姓名。
因此,如果:
A
1 name
2 jack
3 Bob
4 John
我需要这 3 个名称能够动态地在重力形式的下拉菜单中进行选择。我还需要灵活性,以便在员工空闲时间发生变化时允许有更多或更少的名字。
我一直在尝试使用重力形式文档将一些东西组合在一起,并从我在 github 上找到的片段中提取一些零碎的东西。这是我到目前为止所拥有的,但它给了我一个严重错误:
$location_form_id = [FORM ID HERE];
add_filter( 'gform_pre_render_'.$location_form_id, 'populate_posts' );
add_filter( 'gform_pre_validation_'.$location_form_id, 'populate_posts' );
add_filter( 'gform_pre_submission_'.$location_form_id, 'populate_posts' );
add_filter( 'gform_pre_submission_filter_'.$location_form_id, 'populate_posts' );
add_filter( 'gform_admin_pre_render_'.$location_form_id, 'populate_posts' );
function populate_posts($form){
foreach($form['fields'] as &$field){
if($field->id != [FIELD ID HERE] ) {
continue;
// Hook into Google Spreadsheets //
$url = 'http://spreadsheets.google.com/feeds/list/[SPREADSHEET ID HERE]/od6/public/values?alt=json';
$file = file_get_contents($url);
$json = json_decode($file);
$rows = $json->{'feed'}->{'entry'};
$names = array();
foreach($rows as $row) {
$name = $row->{'gsx$name'}->{'$t'};
$names[] = $name;
}
foreach($names as $single_name){
$choices[] = array('text' => $single_name, 'value' => $single_name );
}
$field['choices'] = $choices;
}
return $form;
}
白衣非少年
qq_花开花谢_0