protected function TabularBaseYamlFormExporter::buildRecord in YAML Form 8
Build export record using a form submission.
Parameters
\Drupal\yamlform\YamlFormSubmissionInterface $yamlform_submission: A form submission.
Return value
array An array containing the export record.
2 calls to TabularBaseYamlFormExporter::buildRecord()
- DelimitedYamlFormExporter::writeSubmission in src/
Plugin/ YamlFormExporter/ DelimitedYamlFormExporter.php - Write submission to export.
- TableYamlFormExporter::writeSubmission in src/
Plugin/ YamlFormExporter/ TableYamlFormExporter.php - Write submission to export.
File
- src/
Plugin/ YamlFormExporter/ TabularBaseYamlFormExporter.php, line 77
Class
- TabularBaseYamlFormExporter
- Defines abstract tabular exporter used to build CSV files and HTML tables.
Namespace
Drupal\yamlform\Plugin\YamlFormExporterCode
protected function buildRecord(YamlFormSubmissionInterface $yamlform_submission) {
$export_options = $this
->getConfiguration();
$this->fieldDefinitions = $this
->getFieldDefinitions();
$elements = $this
->getElements();
$record = [];
// Build record field definition columns.
foreach ($this->fieldDefinitions as $field_definition) {
$this
->formatRecordFieldDefinitionValue($record, $yamlform_submission, $field_definition);
}
// Build record element columns.
$data = $yamlform_submission
->getData();
foreach ($elements as $column_name => $element) {
$value = isset($data[$column_name]) ? $data[$column_name] : '';
$record = array_merge($record, $this->elementManager
->invokeMethod('buildExportRecord', $element, $value, $export_options));
}
return $record;
}