Hilfe bei Anpassung der veyton.php (Webshop Modul)

  • Moin,

    ich habe z.B. das Datum bei PayPal-Plus Rechnung über ein Zusatzfeld so verändert:

    Code
    if ((strtolower($row['ZusatzfeldKunde4'])> 0))$row['ZusatzfeldKunde4'] = date('d.m.Y', strtotime($row['ZusatzfeldKunde4']));
  • Hallo Mausko,


    danke für die schnelle Reaktion.

    Es geht mir um folgendes Problem:

    xt:commerce unterstützt ja nur eine E-Mail Adresse pro Kundenaccount. Nun würde ich gerne für die Rechnungs- und Lieferadresse meinen Kunden anbieten, eine abweichende E-Mail Adresse anzugeben und dazu einfach das Fax-Feld zweckentfremden. Im Prinzip funktioniert das mit dem Fax-Feld auch prima und wenn Mein Büro nicht rumzicken würde, wäre das Problem damit erledigt. Aber MB hat halt die Macke, dass der Massen-E-Mailversand der Rechnungen per Rechtsklick nicht funktioniert, wenn bei der Rechnungsadresse keine E-Mail angegeben ist. Öffne ich die Rechnung und klicke dort auf "E-Mail", verwendet MB klaglos die Standard-E-Mail Adresse - verstehe das, wer will.


    Daher würde ich das gerne so lösen, dass in der veyton.php die Zeile 15 nur interpretiert wird, wenn _orders.billing_fax auch wirklich Daten enthält.


  • Ich selbst kann dir nicht helfen.


    Falls du nicht weiterkommen solltest, kannst dich gerne an ABICOS (Andreas Bischof) wenden. In Google schnell zu finden.


    Andreas kennt sich in diesen Bereich gut aus! Hat uns die Schnittstelle Automatisiert, damit alle Dynamische-Daten aus PP-Plus auf Rechnung automatisch in MB kommen.



  • Moin,

    ich habe noch eine andere Idee:

    Versuch mal folgendes: ersetze doch mal die Zeile

    Code
    ".DB_PREFIX."_customers_addresses.customers_fax as Fax,

    in


    Code
    ".DB_PREFIX."_customers_addresses.customers_fax as abweichendRechnungEmail,

    oder hilfsweise in

    Code
    ".DB_PREFIX."_customers_addresses.customers_fax as abweichendLieferungEmail,

    Es gibt nämlich bei den Kundenadressen jeweils das Feld Email. Die "normal" vom Shop übermittelte Email landet in der Hauptadresse. Es gibt aber das Feld auch in den Adressen für Lieferung und Rechnung. Da diese abweichenden Emails auch in der Importdatei aufgeführt werden,sollte das eigentlich klappen.

  • ich habe noch eine andere Idee:

    Danke Mausko, aber das klappt so nicht.

    D.h. es klappt schon - hab ich schon ausprobiert - nur wenn dort (im mißbrauchten Fax-Feld) keine 2. E-Mail Adresse nichts eingetragen ist, bleiben die Felder beim Import und das ist das Problem. Denn dann legt MB eine zusätzliche Adresse ohne E-Mail Adresse für Lieferschein und Rechnung an und mault anschließend beim E-Mail Versand, dass keine Mailadresse vorhanden ist.

    Lasse ich das so...

    Code
    ".DB_PREFIX."_orders.customers_email_address as abweichendRechnungEmail,

    dann legt MB beim Import nur eine Adresse in den Kundendaten an, weil garantiert Daten eingelesen werden können.

    Somit ist das Problem immer noch, dass eine Prüfung vorgenommen werden müßte, ob sich überhaupt Daten in dem zu importierenden Datenfeld befinden.


    Georg-Tac Das ist ne gute Idee.

  • nur wenn dort (im mißbrauchten Fax-Feld) keine 2. E-Mail Adresse nichts eingetragen ist,

    Da habe ich noch ein Verständnisproblem. Wenn dort nichts eingetragen wird, was genau passiert dann? Das Feld "abweichendRechungEmail" erscheint bei jeder Shopbestellung, die abgeholt wird, aber eben leer.

  • Wenn nichts eingetragen wird, bleibt die E-Mail leer und MB interpretiert das - wegen der fehlenden E-Mail - ganze als neue, abweichende Liefer-/Rechnungsadresse.


    Wenn MB ein leeres Feld ignorieren würde, wäre das ja einfach zu lösen...

    Code
    ".DB_PREFIX."_orders.customers_email_address as abweichendRechnungEmail,
    ".DB_PREFIX."_orders.billing_fax as abweichendRechnungEmail,

    Dann würde MB im ersten Schritt die customers_email übernehmen und die leere Abfrage ignorieren. Das passiert aber nicht und so überschreibt (löscht) ein leeres billing_fax die zuvor abgefragte customers_email und MB legt eine abweichende Liefer-/Rechnungsadresse ohne E-Mailadresse an.

  • Moin,

    wenn ich bei mir die Importfiles ansehe, ist dort das Feld immer leer und dann wird (bei mir) auch nichts eingetragen.

    Code
    <abweichendLieferungLaendercode><![CDATA[D]]></abweichendLieferungLaendercode>
    <abweichendLieferungLand><![CDATA[Deutschland]]></abweichendLieferungLand>
    <abweichendLieferungEmail/>
    <abweichendLieferungTelefon/>
    <abweichendLieferungFax/>
    <abweichendRechnungLaendercode><![CDATA[D]]></abweichendRechnungLaendercode>
    <abweichendRechnungLand><![CDATA[Deutschland]]></abweichendRechnungLand>
    <abweichendRechnungEmail/>
    <abweichendRechnungTelefon/>
    <abweichendRechnungFax/>

    Kannst Du mal ein Importfile von Dir posten und wo was in MB dann eingetragen wird?

  • Moin,

    ich habe das mal testweise bei mir im Demomandanten durchgespielt:

    in die xtcommerce.php habe ich die Zeile Telefon geändert (Fax ist bei mir "abgestellt")in:

    Code
    orders.customers_telephone as abweichendRechnungEmail,

    In einer Testbestellung habe ich in das Feld Telefonnummer eine abweichende Emailadresse eingefügt.

    Die Bestellung wird mit beiden Emailadressen abgeholt und diese werden auch richtig in MB eingefügt.

    Lasse ich bei der Anmeldung das Feld (Telefon) für die 2 Emailadresse leer, wird auch nichts eingetragen.

    Code
    <abweichendRechnungLand><![CDATA[Deutschland]]></abweichendRechnungLand>
    <abweichendRechnungEmail><![CDATA[uilderks@yahoo.com]]></abweichendRechnungEmail>
  • Die Bestellung wird mit beiden Emailadressen abgeholt und diese werden auch richtig in MB eingefügt.

    Lasse ich bei der Anmeldung das Feld (Telefon) für die 2 Emailadresse leer, wird auch nichts eingetragen.

    Das ist auch korrekt so Mausko.
    Ich habe nur das Problem, dass MB zwei Adressen anlegt (die Hauptadresse mit E-Mail für den Auftrag als solchen und die Adresse 1 ohne E-Mail für Rechnung und Lieferschein), wenn beim Webshopimport das E-Mail Feld bei den abweichenden Rechnungs- und Lieferanschriften leer ist.


    Wenn ich dann eine Rechnung per E-Mail (Rechtsklick per Kontextmenü) verschicken will, bleibt das Empfängerfeld in der Mail leer. Komischerweise verwendet MB aber die E-Mailadresse aus der Hauptadresse, wenn ich die E-Mail aus der geöffneten Rechnung heraus vornehme.


  • Moin Heiko,

    bei mir stellt sich das so dar:

    Die Email in der Standardadresse wird nicht bei Rechtsklick der Rechnung genommen, sondern die von der Adresse, die für die Rechnung zuständig ist.

    Befüllt mit

    Code
    abweichendRechnungEmail

    Ist die Rechnung geöffnet, kann ich beim Klick auf den Mail-Buttom auswählen, welche Mailadresse ich nehme, wenn mehrere eingetragen sind. (Standard, Rechnung, Lieferschein)

  • Die Email in der Standardadresse wird nicht bei Rechtsklick der Rechnung genommen, sondern die von der Adresse, die für die Rechnung zuständig ist.

    Ganz genau Mausko und das ist das Problem, wenn bei der Rechnungsadresse keine E-Mail hinterlegt ist!

    Daher meine Idee, dass man in der veyton.php eine Abfrage durchführt, wenn abweichendRechnungEmail leer ist, dass dann die Standard-E-Mail eingetragen wird. Also so etwa...


    Code
    if $orders.billing_fax > 0
    ".DB_PREFIX."_orders.billing_fax as abweichendRechnungEmail,
    else
    ".DB_PREFIX."_orders.customers_email_address as abweichendRechnungEmail,


    Nur so einfach scheint das nicht zu sein, da muß es wohl innerhalb einer Datenbankabfrage andere Optionen geben. Aber damit kenne ich mich nicht aus.


    Nachtrag:

    Andererseits ist das natürlich auch doof von Buhl programmiert, denn bei Rechtsklick könnten die ja auch automatisch die Standardadresse übernehmen, wenn das die einzige hinterlegte E-Mail Adresse ist. Mit der originalen veyton.php legt MB nämlich immer eine abweichende Rechnungs- und Lieferadresse als Adresse1 an und zwar ohne E-Mail Adresse. Dies kann man nur verhindern, indem man selber diese beiden Zeilen in die veyton.php einfügt:

    Code
    ".DB_PREFIX."_orders.customers_email_address as abweichendRechnungEmail,
    ".DB_PREFIX."_orders.customers_email_address as abweichendLieferungEmail,


    Mit anderen Worten: vor diesem Problem müßten ja eigentlich alle xt:commerce User stehen, die MB benutzen.