Formular - Name der CSV-Datei dynamisch ergänzen

Dieser Artikel erklärt, wie der Name einer CSV-Datei basierend auf Formulareingaben dynamisch angepasst werden kann,

Über die Formularfunktion wForm::writeDataToCSV können Formulardaten in csv-Dateien geschrieben werden.

Folgendes Quelltext-Beispiel beschreibt, wie sich der Name der CSV-Datei abhängig von den Formulareingaben dynamisch ergänzen lässt, so dass diese "thematisch" getrennt werden können, dabei werden die Anmeldedaten für die einzelnen Kurse (kursId) separat gespeichert.

Auszug aus der Formular-Konfiguration "Nach dem Absenden auszuführendes Skript"

/*
  Der Dateipfad für die CSV-Datei wird aus der Formularvariablen 'filenameCSV' generiert. 
  Abhängig vom Pfad wird ein Verzeichnis namens 'csv' erstellt, in dem die CSV-Datei abgelegt wird. 
  Der Dateiname wird dabei maskiert, um eine saubere Struktur zu gewährleisten.

   Beispiel: 
  /de/kontakt/kurse-[kursId].csv  wird zu 
  /de/kontakt/csv/de-kontakt-kurse-[kursId].csv;
*/

  if($this->saveInCSV && method_exists('wForm', 'writeDataToCSV')){
    $csvData = $mailData;
    unset($csvData['wFormData']); 
    unset($csvData['contentType']);

    /* Voraussetzung ist, dass in dem Formular das entsprechende Eingabefeld kursId existiert. */
    $this->filenameCSV = '/de/kontakt/kurse-'.$mailData['kursId'].'.csv'; 

    $this->writeDataToCSV($csvData, array('archiveIfHeaderChanged'=> true));
  }