Hi all,
I have two issues with the CSV export and I hope anyone can help me.
-- issue 1 --
When I generate a .csv- file of the filled BreezingForms formular-fields, the columns in .csv-file are ordered alphabetically. What I want to achieve, is that the columns have the same order like on the BreezingForms formular.
--issue 2--
My second problem is, that the .csv-file export mixes two data entries in one field. You can see it in the attached picture.
For better understanding you have to know, that my form has some fields that have the same "title" but different "names" in the backend. For example on page 1 of the form Person 1 has to fill out the fields "city", "postcode"... On page 2 Person 2 has also to fill out the fields "city", "postcode".... In the CSV file there is only one heading for "city" and two data entries (Berlin | Paris) of the two persons in one field.
What can I do, that the CSV file is generated like my BreezingForm fields?
I would be very thankful, if anybody could help me.
Anna
EXPORTING .CSV-FILE FROM BREEZINGFORMS - WRONG ORDER OF COLUMNS
- Anna
- Erledigt
-
-
Hi Anna,
this is the German forum. You can also use the English forum:
ZitatFor better understanding
is for us, to write in German.
Anyway, will will try to help you,
But it takes some time to translate und undestand your problem.
-
Hallo Elwood,
vielen Dank für den Hinweis. Hier mein Problem nochmal auf Deutsch:
Im Backend meiner Homepage habe ich die Komponente BreezingFormsPro installiert und anschließend mit Hilfe dieser Komponente ein Anmeldeformular auf die Seite eingebaut. Im Backend habe ich festgelegt, dass aus den ausgefüllten Formularfeldern eine csv-Datei generiert und per Mail versendet werden soll. Nach Öffnung der csv-Datei ergeben sich folgende 2 Probleme:
1. In der generierten csv-Datei sind die Formular-Felder als Spaltenüberschriften alphabetisch geordnet. Damit ergibt sich eine falsche Reihenfolge der Felder. Stattdessen soll in der csv-Datei die Reihenfolge der Formularfelder, wie sie auf der Homepage abgebildet sind, eingehalten werden.
2. Außerdem gibt es mehrere Formularfelder mit gleichem Titel auf der Homepage. So müssen z.B. 2 verschiedene Personen jeweils ihre Adresse mit den Feldern Straße, Hausnummer, Postleitzahl etc. ausfüllen. Person 1 (Ausbilder) gibt seine Daten zu den Feldern auf der Hompage auf Seite 1 ein und Person 2 (Auszubildender) gibt seine Daten zu den Feldern auf der Homepage auf Seite 2 ein. In der csv-Datei gibt es jedoch nur eine Spaltenüberschrift z.B. Straße und darunter befinden sich in Zeile 2 ZWEI Dateneinträge (von Person 1 und Person 2) getrennt durch einen Strich.
Wie kann ich erreichen, dass der Aufbau und die Reihenfolge meiner ursprünglichen Formularfelder auch in der CSV-Datei gewahrt bleibt?
Ich würde mich freuen, wenn mir jemand weiterhelfen könnte.
Viele Grüße
Anna
-
Du hast die Frage bereits bei crosstec gestellt und der Code sollte überprüft werden. Da würde ich noch mal nachfragen!
Ansonsten (schon etwas älter):
https://crosstec.org/en/forums…n-order-in-csv-files.html
Vielleicht hilft es dir weiter und man kann die Reihenfolge immer noch genauso ändern.
Ich habe mir den Code nicht genauer angeschaut. Keine Garantie!
-
Danke für den Hinweis des Links!
Ja das ist korrekt, ich habe die Frage bereits bei Crosstec gestellt. Leider habe ich jedoch noch keine Antwort erhalten.
Viele Grüße
Anna
-
Ich habe mal nachgeschaut.
2 Änderungen in folgender Datei machen:
/components/com_breezingforms/facileforms.process.php
Zeile 5457 als Kommentar setzen:
// ksort($fields);
Zeile 5471 als Kommentar setzen:
// ksort($lines[$i]);
Teste es mal! Aber ohne Garantie!
Bei jedem Update von Breezingforms müsstest du das dann erneut ändern!
-
Das klingt super. Vielen Dank für den Hinweis.
Gerne würde ich es testen. Leider finde ich nicht, wo die entsprechende PHP-Datei von BreezingForms hinterlegt ist, da ich bislang noch keine Codeanpassungen in Joomla vorgenommen habe.
Könntest du mir kurz beschreiben, wie ich zur php-Datei gelange? Habe ich darauf Zugriff über das Backend oder muss ich per FTP-Zugang darauf zugreifen?
Viele Grüße
Anna
-
Geht per ftp
Ginge per Backend nur wenn du eine zusätzliche entsprechende Erweiterung installiert hast z.B. so etwas wie:
https://extensions.joomla.org/extension/profiles/
oder
https://extensions.joomla.org/…e-management/ff-explorer/
oder
-
Zitat
Könntest du mir kurz beschreiben, wie ich zur php-Datei gelange?
Hat er doch:
Zitat/components/com_breezingforms/facileforms.process.php
Kannst du es nicht über das BE und den Manage Records einstellen?
-
Und einen vernünftigen Editor verwenden, also keinesfall Word.
Ich nutze gerne PSPAD. Da kannst du die FTP-Zugangsdaten auch eingeben, Verbindung herstellen, Datei öffnen und bearbeiten und dann als UTF-8 ohne Bom abspeichern. Das Runter- und Hochladen geschieht dabei automatisch.
Oder halt mit Notepad++ , Filezilla oder ähnlichem arbeiten.
Änderungen an php-Dateien auf jeden Fall aufschreiben!
Falls es funktioniert, könntest du das dann auch gleich beim Anbieter ins Forum schreiben. Eventuell wird es dann in den Core aufgenommen.
-
-
Das mit der Reihenfolge sieht nun schon besser aus. Die CSV-Datei hält sich bei den meisten Feldern, deren Titel nur einmal vorkommt, an die Reihenfolge der Formularfelder im Frontend.
Leider passiert es aber immer noch, dass die csv-Datei für Formularfelder deren Titel mehrfach vorkommt (z.B. Straße, Hausnummer, Postleitzahl, Ort), mehrere Dateneinträge in einer Zelle speichert. D.h. es gibt in der CSV-Datei nur einmal die Überschrift "Ort". Darunter ist der "Ort" von Person 1 und Person 2 in EINEM FELD, getrennt durch einen Strich, gespeichert (siehe Anhang Bild).
Hat hier noch jemand eine Idee für eine entsprechende Codeanpassung für mich?
-
Womit wird die CSV-Datei geöffnet?
Kannst du mal eine Test-CSV-Datei hier Anhängen?
-
Bzgl. des anderen Problems wüsste ich das jetzt auch nicht. Aber kann man nicht Titel und Name angeben und damit irgendwie eine Unterscheidung bewirken. Oder halt über Ort1 und Ort2.
Da kenne ich mich mit Breezingforms aber nicht genug aus. Müsste man selber mal testen können.
-
-
Da sich leider keine CSV-Datei hochladen lässt, habe ich ein Muster als txt-Datei beigefügt.
Falls noch jemand eine Idee hat, wäre das klasse!
-
Anmerkung zu:
...Im Backend habe ich festgelegt, dass aus den ausgefüllten Formularfeldern eine csv-Datei generiert und per Mail versendet werden soll....
So müssen z.B. 2 verschiedene Personen jeweils ihre Adresse mit den Feldern Straße, Hausnummer, Postleitzahl etc. ausfüllen. Person 1 (Ausbilder) ....Person 2 (Auszubildender) ....
Da die Mail mit den personenbezogenen Daten aber wohl unverschlüsselt versendet wird müßte man wohl beim Formular mindestens so etwas ähnliches wie nachfolgenes für den Websitebesucher(Formularbenutzer) anbringen:
"Dieses Formular wird als E-Mail unverschlüsselt an uns übertragen. Ihre Daten werden selbstverständlich vertraulich behandelt. Wir speichern sie daher ausschließlich zum Zweck xy und geben sie nicht an Dritte weiter. Die Angaben von persönlichen Daten geschieht freiwillig."
-
Nun hat sich noch eine weitere Frage ergeben:
Meine generierte CSV-Datei enthält neben den von mir definierten Formularfeldern folgende zusätzliche Felder: ZZZ_A_FORM, ZZZ_B_SUBMITTED, ZZZ_C_IP, ZZZ_D_BROWSER, ZZZ_E_OPSYS .
Diese zusätzlichen Felder (Informationen) sollen jedoch nicht erfasst und in der Datei enthalten sein.Hat jemand eine Idee, wie ich dies verhindern kann?
-
Genau diese Angaben habe ich vorhin im Forum bei crosstec gelesen. Bin grad mobil. Muss ich morgen noch mal schauen.
-
Meine generierte CSV-Datei enthält neben den von mir definierten Formularfeldern folgende zusätzliche Felder: ZZZ_A_FORM, ZZZ_B_SUBMITTED, ZZZ_C_IP, ZZZ_D_BROWSER, ZZZ_E_OPSYS .
Diese zusätzlichen Felder (Informationen) sollen jedoch nicht erfasst und in der Datei enthalten sein.Hat jemand eine Idee, wie ich dies verhindern kann?
Das lässt sich wohl auch auskommentieren;
Siehe hier: https://crosstec.org/de/forums…la/109243-csv-export.html
Das ist aber sicherlich nicht mehr bei ca. Zeile 5000, sondern mittlerweile sicher woanders.
Nutze die Suchfunktion im Editor!
Ok! Schau mal hier:
ab Zeile 5412 und ab Zeile 5435
Wieder ohne Garantie!