Closed frase-git closed 7 years ago
es müsste aber eine zweite geben, die nur der Shopbetreiber kriegt Die Daten aus der Tabelle in der Email kann ich problemlos in Exel ziehen.
@XHalbert Könntest du vielleicht mal ein entsprechendes HTML Template ausarbeiten; ich würde dann einen HtmlBillWriter schreiben.
plugins\xhshop\templates\frontend\confirmation_email\html.tpl
Wie wär's denn damit? Als Basis?
klar, siehe #15
soll ja ein Austauschformat sein Ich brauche konkret (was nicht heißt, dass jeder die braucht): Gewicht, Shipping, Nachlass, Vorname, Name, Adresszusatz, Str. +Nr., (Nr. optional), PLZ, Ort, Email, Tel., Liefername, Lieferstr., Lieferort, Rg.betrag, Land, Warenwert, Zahlweise, Anmerkung, Besondere Wünsche, Email an DHL, Company, Datum,
und die Artikel in der zweiten Tabelle
ein entsprechendes HTML Template ausarbeiten basis: \confirmation_email\html.tpl
mach ich
ups, hab ich das mit dem upload jetzt richtig gemacht?
das wär die aktuelle html.tpl mit "meinen" Erweiterungen html-AW.zip
(entsprechend müsste noch was in customer, frontend_contr., frontend_view und lang de.php)
das wär die Tabelle, die im Prinzip als Austauschformat schon reichen würde
tabelle-AW.zip
(sollte vllt. noch etwas gestylt werden)
Ein Unterschied fällt mir grad auf: In Exel ist das Markieren einer kompletten Tabelle einfacher, durch das Kreuzchen, das beim Draufzeigen erscheint - insofern würde ich rtf-Format vorziehen
ups, hab ich das mit dem upload jetzt richtig gemacht?
Nicht wirklich. Du hast die Zips nun direkt ins Repo committed, was nicht sinnvoll ist. Ist aber kein Problem; ich kann das gleich bereinigen. Wenn du einfach nur ein Zip für andere zur Verfügung stellen willst, dann kannst du die Datei per Drag&Drop auch einfach in den gerade bearbeiteten Kommentar ziehen.
einfach in den gerade bearbeiteten Kommentar ziehen
klar, eigentlich ;) danke
das wär die aktuelle html.tpl mit "meinen" Erweiterungen
Okay, aber die Felder müssten ja erst noch ergänzt werden, siehe #15.
das wär die Tabelle, die im Prinzip als Austauschformat schon reichen würde
Aber da sind ja keinerlei Infos über die bestellten Artikel! Brauchst du das nicht?
keinerlei Infos über die bestellten Artikel!
ach so ja (dachte erstmal zum testen...) Artikel war nur %rows% (ich hatte das separiert), das wär dann die zweite Tabelle,
<tr>
<td >%pa%</td>
<td>%pname% (%pvat%)</td>
<td>%pprice%</td>
<td>%psum%</td>
</tr>
und eigentlich waren alle Felder noch einmal in lesbarer Form vorhanden
die Felder müssten ja erst noch ergänzt werden, siehe #15.
ich weiß ja nicht, was ihr davon verwenden wollt hab mal alles hier aufgelistet: mehr-Felder.zip
@cmb69 Ist es möglich die Funktionen aus dem Branch als config-Option einzuführen? Also in etwa: Rechnung als Anhang für den Betreiber im Format: RTF oder CSV Oder sollen immer beide verschickt werden?
wenn es nicht zuviel Aufwand macht, finde ich sinnvoll, immer beide zu verschicken. Ob ein oder zwei Anhänge macht doch nichts, Oder csv als standard für Austauschformat, und rtf nur, wenn billtemplate.rtf vorhanden (die im download z.B. als Xbilltemplate.rtf liegt)
A. csv sollte wirklich alle Daten enthalten siehe #15 . Überlegung:
B. rtf kann ruhig wie besprochen minimalistisch sein, kann sich jeder selbst erweitern (und wie frase sagen würde, sich damit herumärgern)
Sollte man die Artikel nicht lieber unten anhängen?
Das könnte sinnvoll sein. Über das genaue Aussehen und was alles drin sein soll/kann, müssen wir noch reden. Ich denke aber, dass da wirklich alle Daten, die irgendwo erfasst wurden drin sein sollten. Wers braucht - okay. Wer nicht, kann es ignorieren. Man muss ja nur die Zellen markieren, die man braucht -> Copy&Paste.
Wenn es so wird, wie oben besprochen, wird es eine billtemplate.csv
geben, die sich wiederum jeder Betreiber frei gestalten kann - wenn er kann.
(Mir fällt gerade auf: mit bill
hat das ja gar nichts zu tun? Vielleicht lieber exchangetemplate.csv
oder datatemplate.csv
?)
CSV bearbeiten @XHalbert
Im Test sah die billtemplate.csv
so aus:
Anzahl;Artikel;Steuersatz;Einzelpreis;Summe
%pa%;%pname%;%pvat%;%pprice%;%psum%
Warenwert;;;;%SUMME%
Versandkosten;;;;%SHIPPING%
Rechnungssumme;;;;%ENDSUMME%
Kunde;;;;%Vorname% %Nachname%
Straße;;;;%Strasse%
Ort;;;;"%PLZ% %Ort%"
Das dürfte dir überhaupt keine Schwierigkeiten machen - oder?
Übrigens, was mir gerade noch einfällt: Die mit der Mail eintreffende bill.csv (Name!) muss überhaupt nicht zwangsläufig mit Excel & Co geöffnet werden. Das geht mit notepad++ ganz genau so gut.
Das gute an beiden Varianten ist, dass man sie leicht bearbeiten kann. Nein, ich hätte keine Probleme damit.
exchangetemplate.csv
guter Vorschlag
müsste in csv nicht am Ende einer Zeile ein ; stehen?
müsste in csv nicht am Ende einer Zeile ein ; stehen?
Ich glaube, eine Zeilenschaltung genügt als Datensatztrenner. Hat jedenfalls funktioniert.
Artikel war nur %rows% (ich hatte das separiert), das wär dann die zweite Tabelle,
Okay, verstehe.
Rechnung als Anhang für den Betreiber im Format: RTF oder CSV Oder sollen immer beide verschickt werden?
Ich dachte eigentlich, dass der Shopbetreiber das konfiguriert, also entweder oder. Und dann kommt ja vermutlich noch eine HTML-Variante. Immer alles auszuliefern erscheint übertrieben.
die csv wird wohl aus einer Vorlage heraus "wie sie ist" verschickt. Kann die Vorlage z.B. in .txt umbenannt werden, falls dieses Format dem Betreiber besser erscheint?
Könnte man machen, aber wird es wirklich benötigt? Da würde ichim Zweifel mal abwarten ob sich jemand meldet, der das braucht.
müsste nicht am Ende einer Zeile ein ; stehen?
Das würde eine zusätzliche leere Spalte ganz rechts erzeugen. Die Trennzeichen dienen bei CSV wirklich als Trenner, nicht als Endezeichen.
Ich denke aber, dass da wirklich alle Daten, die irgendwo erfasst wurden drin sein sollten.
Ja, das ergänze ich noch. Die Daten sind dann für alle "BillWriter" verfügbar, und die Templates können ja bei Bedarf angepasst werden.
Mir fällt gerade auf: mit bill hat das ja gar nichts zu tun? Vielleicht lieber exchangetemplate.csv oder datatemplate.csv?
Würde ich so lassen, einfach weil der Begriff BillWriter schon etabliert ist, und man sonst eigentlich auch im Code einiges umbenennen müsste. Was ich sinnvoller fände wäre eine Sprachvariable, mit der man den Namen der erzeugten bill.…
ändern kann, egal ob nun Rechnung
, Lieferschein
, Bestelldaten
usw.
Meine Idee hier ist einfach, dass man eine sehr flexible Möglichkeit hat, sich in einer Form Bestelldaten aufbereitet zusenden zu lassen. Zum einen kann ein bestehender BillWriter verwendet werden, aber man könnte eben noch weitere selbst programmieren, was zum Austausch mit einer Auftragsbearbeitung interessant sein könnte. Individuelle BillWriter müssten einfach als Klasse in classes/
hinterlegt, ein passendes Template in den Templateordner gepackt und dann in der Konfiguration auf das gewünschte Format umgestellt werden.
Ich dachte eigentlich, dass der Shopbetreiber das konfiguriert, also entweder oder. Und dann kommt ja vermutlich noch eine HTML-Variante. Immer alles auszuliefern erscheint übertrieben.
Alles klar. Halten wir fest: Anhang entweder RTF oder CSV oder HTML
oder Zukünftiges.
Kann die Vorlage z.B. in .txt umbenannt werden, falls dieses Format dem Betreiber besser erscheint? ... Könnte man machen, aber wird es wirklich benötigt? Da würde ichim Zweifel mal abwarten ob sich jemand meldet, der das braucht.
Zur Erinnerung: Die CSV ist eine Textdatei. Mit der Besonderheit utf-8 mit BOM. Also: Vorläufig ignorieren - bis Nachfragen kommen.
Template-Dateiname: So lassen wie bisher. Begründung: voriger Post.
Meine Idee hier ist einfach, dass man eine sehr flexible Möglichkeit hat, sich in einer Form Bestelldaten aufbereitet zusenden zu lassen.
Und das ist genial, flexibel und zukunftssicher! (Und das muss ich noch loswerden) Die RTF wird nach und nach verschwinden ;-) Und wer weiß? Vielleicht schreibt einer ein Script, das die Daten in ein PDF packt und man Rechnungen, Lieferscheine und sonstwas erhalten kann. Das ginge auf dem Server oder erst zuhause. Alles möglich. (Nur nicht mit RTF und HTML - oder nur mit "Fingerbrechen").
(Und das muss ich noch loswerden) Die RTF wird nach und nach verschwinden, falls sich andere Lösungen als praktikabel erweisen ;-) - von mir aus gern. Bin aber glücklich, dass ich vorerst rtf weiter verwenden kann.
Individuelle BillWriter müssten einfach als Klasse in classes/ hinterlegt, ein passendes Template in den Templateordner gepackt und dann in der Konfiguration auf das gewünschte Format umgestellt werden.
toll! Sollte das dann ins Wiki?
Zur Erinnerung: Die CSV ist eine Textdatei.
weiß ich doch ;) .csv werden u.U. anders geöffnet als .txt je nach Programm- war nur sone Idee -vergessen (geht übrigens nicht)
Übrigens: bei mir öffnet der Texteditor die csv einzeilig, alles hintereinander, während Exel die Sachen untereinander anordnet
Klar muss das ins Wiki, aber ganz zuletzt. Da ist noch vieles offen - weil unklar.
Übrigens: bei mir öffnet der Texteditor die csv einzeilig
Obacht. Hier muss ein passender Editor verwendet werden, der mit der Kodierung umgehen kann (notepad++). Mit welchem Editor hast du denn geöffnet? Und welche csv?
Zur Erinnerung: Die CSV ist eine Textdatei. Mit der Besonderheit utf-8 mit BOM.
Ob ein BOM vorhanden ist, kommt aufs entsprechende Template an; das BOM wird von dort einfach übernommen, falls vorhanden.
Und wer weiß? Vielleicht schreibt einer ein Script, das die Daten in ein PDF packt und man Rechnungen, Lieferscheine und sonstwas erhalten kann.
Auch das könnte wohl ein BillWriter übernehmen, wenn die diversen Dokumente in einem PDF zusammengefasst werden.
Bin aber glücklich, dass ich vorerst rtf weiter verwenden kann.
Aber da müsste noch ein bisschen nachgebessert werden, wegen dem Kopieren der Artikelzeile. Bzgl. meiner angepassten billtemplate.rtf
hattest du geschrieben, dass nicht alles schön rechtsbündig ist. War das vorher nicht auch schon der Fall?
toll! Sollte das dann ins Wiki?
Wenn, dann als Entwicklerdokumentation. Die Erklärungen im BillWriter
Interface reichen aber vielleicht auch aus.
bei mir öffnet der Texteditor die csv einzeilig, alles hintereinander, während Exel die Sachen untereinander anordnet
Das liegt an den Zeilenumbrüchen, die PHP erzeugt. Die sind bei CSV leider immer Unix-style (also LF, und nicht wie bei Windows üblich CRLF). Damit hat aber, glaube ich, nur noch Notepad ein Problem. Und selbst wenn wir die Zeilenenden ersetzen würden, welche sollten wir wählen. Diejenigen des Servers sind nicht relevant, und wir wissen nicht auf welchem Betriebssystem die Datei geöffnet werden wird. Eine Konfigurationsoption erscheint mir übertrieben.
Also, ich bin begeistert. Konfig-Option CSV/RTF ist drin. Anhänge kommen (je nachdem) beide sauber an. CSV öffnet aus der Mail heraus Excel - RTF öffnet Word. Gut gemacht, Christoph!
Ob ein BOM vorhanden ist, kommt aufs entsprechende Template an; das BOM wird von dort einfach übernommen, falls vorhanden.
Doku/Wiki - bitte erinnert mich oder schreibt es selbst
Entwicklerdokumentation: eigene Seite oder unter Tipps? Der Hinweis auf Billwriter sollte genügen.
Wird HTML wirklich benötigt?
@frase-git xhshop-csv-bill installiert, Probekauf, bill.csv: Rechtsklick - öffnen mit -
@cmb69
Bzgl. meiner angepassten billtemplate.rtf hattest du geschrieben, dass nicht alles schön rechtsbündig ist.
stimmt, aber ich kanns anpassen.
Wird HTML wirklich benötigt?
momentan wohl eher nicht
Probier mal den aktuelle master. Da kannst du wählen, ob CSV oder RTF.
Editor: Hol dir mal "notepad++" - ist kostenlos. (office 2010 bei ammas00n 15 € - dafür gibt es auch ein Tool (habe ich), mit dem du die alte Menüleiste aus 2000 weiter verwenden kannst.)
stimmt, aber ich kanns anpassen.
Dann schick mir bitte doch mal eine minimal angepasste billtemplate.rtf
. Die kann ich hier mal mit WordPad und LibreOffice testen, und wenn alles gut ist, dann nehmen wir die. Vermutlich ein Vorteil, wenn sie mit einer älteren Word-Version angepasst wird – das macht vielleicht weniger Schnick-Schnack.
Wird HTML wirklich benötigt?
momentan wohl eher nicht
Okay, dann legen wir das Thema mal auf Halde (wenn sich jemand meldet, der es braucht, dann kann man immer noch nachbessern).
Probier mal den aktuelle master.
Jupp!
wirklich auch "Großes Kompliment" hier "meine" billtemplate billtemplate.zip ist komischerweise nur knapp 15 kb groß, die cmb-version, die ich hatte aber 55kb PS bin erstmal off - bis später
CSV RTF mir flimmern die Augen ;-))) Habe gerade einen Abschnitt "Bill format" im Wiki verfasst. Bitte mal gegenlesen. Richtig so?
sehr schön, gute Arbeit, die Lob verdient! nur...
Da das RTF-Format einige Mängel aufweist
na na na tse tse ... Mängel ... schreib doch "nur begrenzt einsetzbar ..." oder "manchmal nicht passend ..."
oder lass den Halbsatz ganz weg, also nur "....nicht sonderlich flexibel für eine Datenübernahme in andere Programme ist"
ist komischerweise nur knapp 15 kb groß, die cmb-version, die ich hatte aber 55kb
Das ist das, was ich mich Schnick-Schnack meinte.
Allerdings schlechte Nachricht: wenn ich diese billtemplate.rtf in LibreOffice öffne ist alles gut. Aber die erzeugte bill.rtf
kann nicht geöffnet werden, weil die Datei beschädigt sei. Ist das gleiche Problem wie bei Franks mit Word 2010 erstellten billtemplate.rtf
: Tabellenverschachtelung in der Artikelzeile, und nicht ausgeglichene \trow
und \row
Anweisungen. Unter Zuhilfenahme von preg_match_all('/\{|\}|\\\\trowd|\\\\row|%pname%/', $template, $matches, PREG_OFFSET_CAPTURE)
konnte ich ermitteln das sich das Artikelzeilen-Template zwischen Byte 6079 und 7936 befindet, und RtfBillWriter
so umschreiben, dass die erzeugte bill.rtf
geöffnet werden konnte, und anscheinend auch korrekt ist – aber das vollständig zu automatisieren erscheint aufwendig. :(
Frank hat Recht :( ... Mängel ...
Schade, eine universelle minimalistische billtemplate.rft scheint wohl nicht zu gehen. Schon ne komische Sache. Bei mir (Exel2000) gehen jedenfalls beide versionen, 15kb und 55kb (hier war nur der rechte Rand etwas verrutscht). Habe eben meine bisherige wellrad-template in billtemplate umbenannt, dann %rows% durch | %pa% | %pname% (%pvat%) | %pprice% | %psum% | ersetzt. Probekauf klappt einwandfrei.
PS: bei csv sind mehrere zusätzliche Klicks erforderlich, bis die Daten da sind wo ich sie brauche (speichern, exel öffnen, Datei öffnen). Bei einigen Bestellungen pro Tag ist rtf deshalb einfach besser. Bei vielen Bestellungen pro Tag wär natürlich csv besser, wenn es gelingen würde, alle Bestellungen gemeinsam zu importieren.
Mit einer neueren Office-Version geht die CSV direkt aus der Mail in Excel auf.
Mehrere Bestellungen in einem Rutsch zu importieren ginge möglicherweise auch, wird aber eher sehr kompliziert. Du würdest den Überblick verlieren.
Wir könnten hier eigentlich schließen. Allerdings brauche ich noch Infos, welche Daten in der CSV möglich sind und welche wir als default reinschreiben. Wiki
ich finde, in csv sollte alles rein, was an Daten vorhanden ist in step3, soll ja ein Austauschformat sein. Müsste alle Platzhalter enthalten sein. wer weniger will, kann einfach rauslöschen.
vielleicht in vier Zeilen - etwa so?
Vorname, Name, Adresszusatz, Str., Nr., PLZ, Ort, Land, Email, Tel.,
die Artikelzeile
Warenwert, Gewicht, Shipping, Nachlass, Rg.betrag
Zahlweise, Email an Paketdienst, Besondere Wünsche, Anmerkung, Company, Datum,
(und umsortieren kann ja sowieso jeder nach Belieben)
PS: im Wiki würde ich die möglichen Platzhalter nicht explizit nennen, da kann sich noch was ändern. Also nur allgemein erklären, umsortieren und/oder Platzhalter löschen
Ja, genau so. Da müssen wir aber noch auf Christoph warten. Ich möchte die Platzhalter alle nennen, und die kenne ich (noch) nicht alle.
Ah, ich sehe gerade, da haben wir uns überschnitten. Okay, nicht alle nennen. Dann aber wenigsten festlegen, was in die Vorgabe CSV reinkommt.
Es werden nun weitere Platzhalter unterstützt: e2bac5a. Eine Übersicht über alle findet man hier. Dazu kommen die Platzhalter für die Artikelzeilen.
Bitte mal prüfen, ob von den Infos, die es schon gibt, noch was fehlt (die Kundendaten sind auf jeden Fall vollständig vorhanden).
Was wir auf jeden Fall noch tun sollten, ist die Platzhalter zu vereinheitlichen. Einige sind deutsch, andere englisch, einige groß, andere klein geschrieben. Ich würde vorschlagen, allen Platzhaltern englische Namen zu geben (allein schon um zu vermeiden, dass Umlaute o.ä. ins Spiel kommen). Und solange wir uns auf ASCII-Zeichen beschränken, könnte auch leicht die Groß-/Kleinschreibung ignoriert werden, d.h. der Platzhalter %COMPANY_NAME%
könnte in der "Rechnung" auch %company_name%
heißen (oder auch %Company_Name%
etc.)
Für mich sieht das erstmal alles sehr gut aus. Christoph: Gute Arbeit! Jetzt kann ich das CSV-Kapitel schreiben. Schließen?
Ach so:
Die Platzhalternamen sollten nun einheitlich sein, und beim Ersetzen wird Groß-/Kleinschreibung ignoriert: efc3806. Ich schließe das Ticket daher.
Ich schaffe es nicht, mit Word 2010 die billtemplate.rtf (oder auch die alten Dateien) funktionstüchtig zu ändern. (Entgegen meinem Vorsatz, mich nicht darum zu kümmern) Habe versucht eine "schönere" zu machen.
Das Ergebnis ist: Wenn nur ein Produkt bestellt wird, läuft alles super. Sobald zwei oder mehr Produkte bestellt werden, läuft alles durch. Die Mail hat den Anhang
bill.rtf
. Will man diesen öffnen, startet Word (2010) - versucht die Datei zu öffnen und bricht ab mit der Meldung:Weiter geht nix.
Auch die Originaldatei in Word geöffnet und ohne Änderung wieder gespeicher: gleicher Fehler.
Übrigens: Was machen Leute ohne Word? Habt ihr die Datei schonmal mit Wordpad geöffnet?
Frage @XHalbert Mit welchen Programm bearbeitetst du die (bill)template.rtf?
Nachtrag: Die Dateien, die Word selbst erzeugt hat, aber nicht öffnen kann, lassen sich mit Wordpad öffnen. Alles drin - sieht nur noch gruseliger aus.