Я создал форму, используя Gravity Forms на WordPress.Сейчас я пытаюсь создать и добавить новые записи формы в файл CSV, чтобы я мог передать данные в Qlik.
Я использую ловушку действия PHP gform_after_submission для получения данных вводаиз гравитационных форм. Моя форма (# 11) имеет 3 поля (1,4,3), однако идентификатор поля # 4 имеет три значения
Затем я передаю эти данные через fputcsv .
Я наконец смог создать файл CSV, заполнить заголовки и заполнить данные.К сожалению, как я написал свою функцию, заголовки печатались каждый раз, когда создавалась новая запись.Я добавил оператор if, чтобы проверить, существует ли файл, и добавил заголовки, только если его нет.Это не сработало, как ожидалось, поэтому я вручную добавил заголовки, и теперь он работает, как и ожидалось.Если кто-то может помочь мне указать правильное направление для программного добавления заголовков, я был бы очень признателен.
Моя большая проблема связана с полем данных «Причина».Это только одно поле, но флажок с несколькими значениями.Из-за этого я не могу напрямую ссылаться на идентификатор (4) поля, а вместо этого вызывал каждое значение независимо.Я пытался создать массив со всеми тремя значениями, но не смог понять его.
Если вы прочитали это далеко, я ценю, что вы потратили время на выходной.Любой совет / вклад приветствуется.
Вот мои текущие функции и действия:
function populate_csv( $entry, $form ) {
//Headers info
$headers = array('Nominee', 'Reason1', 'Reason2', 'Reason3', 'Justification');
//Build form data
$data = array(
'Nominee' => rgar( $entry, '1' ),
'Reason1' => rgar( $entry, '4.1' ),
'Reason2' => rgar( $entry, '4.2' ),
'Reason3' => rgar( $entry, '4.3' ),
'Justification' => rgar( $entry, '3' ),
);
//Open or Create CSV File
$fh = fopen('Nominations.csv', 'a');
// Check to prevent overwriting the headers
if (!file_exists('Nominations.csv')) {
//Create headers
fputcsv($fh, $headers);
}
//Populate the data
fputcsv($fh,$data);
//Close the file
fclose($fh);
}
add_action( 'gform_after_submission_11', 'populate_csv', 10, 2 );