Hi Leute, ich möchte Euch bitten mir zu helfen. Bin gerade dabei die pdf-Rechnung so umzubauen, dass das Geburtsdatum des Kunden (welches er zwingend eingeben muss) auf der Rechnung erscheint. Habe mich hier ersteinmal an dem vorhandenen Code der VAT-Nr. orientiert (/admin/gm_pdf_order.php) Doch leider erscheint kein Datum auf der Rechnung. Nutze ich den selben Code mit "email_address" oder "telephone" statt "dob" erscheint dieser. Ich habe auch schon "date_of-birth" probiert. Klappt leider auch nicht. Kann mir hier jemand weiterhelfen? Muss ich das Geburtsdatum vielleicht erst in die Datei importieren? Gruß
So wird das nix. Hier einmal Dein Code: PHP: #### vorhanderer Code #### // add vat if exists if(!empty($order->customer['vat_id'])) { $customer_adress .= "\n" . $order->customer['vat_id']; } #### mein eingefügter Code #### // add birthdate if exists if(!empty($order->customer['dob'])) { $customer_adress .= "\n Geb.: " . $order->customer['dob']; } Also, Du versuchst auf eine Variable zuzugreifen, die es gar nicht gibt in der orders, sondern nur in der customers! Da viele Wege nach Rom führen, gibt es auch unterschiedliche Möglichkeiten. Hier ist eine mögliche Lösung: Ca. Zeile 32 fügst Du customers_id dem SQL-Query hinzu. Dann von mir aus vor dem order_query: PHP: $get_cdob_query = xtc_db_query("SELECT NULLIF(DATE_FORMAT(customers_dob,'%d.%m.%Y'),'0000-00-00') customers_dob FROM " .TABLE_CUSTOMERS. " WHERE customers_id = '" . $order->info['customers_id'] . "'");$get_cdob_result = xtc_db_fetch_array($get_cdob_query); Statt $order->customer['dob'] nimmst Du jetzt einfach: $get_cdob_result[customers_dob]
Hi Developer, danke für die Antwort. Das es die Variable nicht gibt, dachte ich mir schon. Werde den Code direkt ausprobieren. Gruß
Guten Abend Developer, ich habe den Code jetzt eingefügt und probiere schon den ganzen Nachmittag rum, aber leider funktioniert es nicht so wie gedacht. Es kommt zwar keine Fehlermeldung, aber es erscheint leider auch kein Geb.Datum. Vielleicht könntest Du mal bitte drüberschauen und mir sagen, wo mein(e) Fehler liegen. Gruß
OK, dann nochmal: 1. ca. Zeile 32 bei PHP: $order_query_check = xtc_db_query(" SELECT gm_packings_id, gm_orders_id, gm_packings_code, gm_orders_code, gm_packings_code, customers_email_address, customers_firstname, customers_lastname, gm_cancel_date, orders_status FROM " . TABLE_ORDERS . " WHERE orders_id='" . (int)$_GET['oID'] . "' "); fügst Du zwischen PHP: gm_packings_code,customers_email_address, folgende Spalte mit ein: PHP: customers_id, 2. nach ca. Zeile 50 PHP: $order_check = xtc_db_fetch_array($order_query_check); fügst Du danach folgendes ein PHP: $get_cdob_query = xtc_db_query("SELECT NULLIF(DATE_FORMAT(customers_dob,'%d.%m.%Y'),'0000-00-00') customers_dob FROM " .TABLE_CUSTOMERS. " WHERE customers_id = '" . $order->info['customers_id'] . "'");$get_cdob_result = xtc_db_fetch_array($get_cdob_query); 3. jetzt an Deiner gewünschten Stelle: PHP: // #### BOF: Geburtsdatum - wenn vorhanden ##### if(!empty($get_cdob_result['customers_dob'] )) { $customer_adress .= "\n Geb.: " . $get_cdob_result['customers_dob'] ; } // ############ EOF: Geburtsdatum ############## Nun sollte es aber fruchten!
Hallo Developer, sorry, dass es bei mir heute länger gedauert hat bis zur Antwort. Ich habe Deine Anleitung befolgt, leider aber mit dem selben Ergebnis wie gestern. Keine Fehlermeldung, aber auch kein Geb.Datum. Liegt es evtl. an meiner Shopversion. Ich habe die v2.1.0.2. Ich werde mal die ganze php Datei hochladen. Evtl. kannst Du dann den Fehler lokalisieren. Da ich mich nicht sehr gut mit php auskenne, bin ich hier wirklich auf Hilfe angewiesen(wie man sieht). Leider weiß ich nicht wie man die Datei hier im Forum sofort sichtbar macht, daher ist es bei mir immer als Anhang zu sehen. Ich bedanke mich schon mal für Deine Mühen, Gruß
Moin daniella, Zeile 53 in Deiner Datei bitte wie folgt ändern: PHP: $get_cdob_query = xtc_db_query("SELECT NULLIF(DATE_FORMAT(customers_dob,'%d.%m.%Y'),'0000-00-00') customers_dob FROM " .TABLE_CUSTOMERS. " WHERE customers_id = '" . $order_check['customers_id'] . "'"); Sag kurz bescheid, ob es läuft. Ach, noch etwas. Bitte sicherheitshalber den Cache leeren!
Hallo Developer, habe den Code ersetzt und auch den Cache gelehrt. Doch leider ist es unverändert geblieben. Gruß
Nimmst Du zum Testen eine bestehende Rechnung, oder eine Bestellung zu der noch keine Rechnung erstellt wurde? Bei einer Bestehenden Rechnung wird es vermutlich nicht mehr eingefügt.
Hallo Barbara, danke, dass Du Dich auch mit meinem Problem beschäftigst. Ich teste mit beiden Versionen. Die eMail-Adresse oder Telefonnummer wird auch nachträglich eingefügt. Das Geb.Datum weder bei den neuen Rechnung noch bei den schon mal erstellten. Grüße
Hallo daniella, also, bei mir funktioniert es auf anhieb, was ich Dir an Code geschrieben habe. Nur hab ich momentan keine Idee, was bei Dir falsch läuft. Ich frage mal ganz vorsichtig an: Die Datei überträgst Du doch, oder? Also liegt auch wirklich auf FTP!? Kannst Du mir Deine finale Datei, die Du per FTP hochspielst nochmal schicken oder posten? Gruß Sedat
Hi Developer, entschuldige bitte, dass ich gestern nicht antworten konnte - musste einen Krankenbesuch machen. Ich lade die Datei über den FTP Zugang in den Ordner Admin. Hier wird die vorhandene Datei dann immer überschrieben. Also es funktioniert bei mir weder mit einer bestehenden Rechnung noch mit einer, die ich erstmals mit diesem Code erstelle. Gruß
Kein Problem! Steht bei dem Kunden wirklich auch ein Geburtsdatum drin? Bin jetzt noch im Büro. Kannst Dich gerne bei mir melden.
Hi Developer, Da der Code bei Dir problemlos läuft, werde ich mir auch einen Testshop einrichten und es hier mal testen. Vielleicht habe ich bei meinem Shop (unwissend) irgendwas anders eingestellt. Ich schreibe dann ob es geklappt hat. Grüße
Hallo Developer, ich habe es nun auch, nach langem Testen, geschafft den Code zu integrieren. An Deinem Code habe ich nichts verändert - der funktionierte von Anfang an. Das Problem saß vor dem Rechner bin eben erst Anfänger. Hier habe ich noch eine Frage - sind die Einrückungen des Codes zwingend erforderlich oder kann ich den Code auch in der Zeile fortlaufend schreiben? ich bedanke mich nochmals für Deine Hilfe, Gruß
Wenn der Quellcode valide ist, dann sollte es eigentlich keinen großen Probleme geben, wenn der Code nicht eingerückt ist. Der Übersicht halber würde ich diese trotzdem machen, sonst sucht man sich bei einem Fehler nämlich dumm und dusselig LG Torben