cecom Posted September 1, 2007 Report Share Posted September 1, 2007 Hallo zusammen Suche eine Lösung, um 0.00 Euro Bestellungen abzuwickeln und hoffe, jemand kann mir da weiterhelfen. Wie andere in diesem Forum schon festgestellt haben (leider ohne Antworten), kriegt man Bestellungen mit einem Wert von 0.00 Euro nicht durch den Shop, da keine Zahlungsmöglichkeiten angezeigt werden. In meinem Shop sind die Download-Produkte in der Basis kostenlos, da diese durch Werbung finanziert werden. Die weiteren Lizenzen sind mit Aufpreis und das funktionieren daher dort auch problemlos. Da die kostenlosen Basis-Produkte jedoch ebenfalls den normalen Bestellablauf durchmachen sollen (wegen der Adresse, Lizenz etc.), kann ich nicht einfach einen Download-Link in den Produktdetails einsetzen. Hat jemand eine Lösung, wie man 0.00 Euro Artikel durch den ganzen Bestellablauf kriegt? ------------------------- Mein Lösungsansatz war unter anderem, das „invoice“-Modul (per Rechnung) zu kopieren und z.B. unter dem Namen „Sponsoring“ einzubauen. Diesen Zahlungsweg würde man dann für Bestellungen mit 0 Werten auswählen können und der Download kann normal durch den Admin später freigeschalten werden. Das Modul zu duplizieren ist jedoch für einen PHP-Laien nicht so einfach und das zweite Problem ist, dass diese Zahlungsmöglichkeit ebenfalls nicht bei 0 Euro Bestellungen erscheinen würde... ------------------------- Der zweite Ansatz war, den kostenlosen Artikeln den Preis 0.001 Euro zu geben. Da im Shop nur zwei Stellen nach dem Komma angezeigt werden, wären sie öffentlich „kostenlos“. Leider erscheinen auch bei einem Betrag von 0.001 Euro keine Zahlungsmöglichkeiten... ------------------------- Ich hoffe jemand hat da schon eine funktionierende Lösung oder eine gute Idee, wie man das hinkriegen kann. Herzlichen Dank und beste Grüsse Link to comment Share on other sites More sharing options...
lederfuchs Posted September 1, 2007 Report Share Posted September 1, 2007 Hi, probier mal in der "checkout_process.php" dieses hier auszukommentieren if ( (xtc_not_null(MODULE_PAYMENT_INSTALLED)) && (!isset ($_SESSION['payment'])) ) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } Link to comment Share on other sites More sharing options...
cecom Posted September 1, 2007 Author Report Share Posted September 1, 2007 Hallo lederfuchs Super, besten Dank! Das klappte und der Ablauf ist nun noch besser und einfacher als erwartet/geplant. Herzlichen Dank für die schnelle Hilfe! Link to comment Share on other sites More sharing options...
cecom Posted September 3, 2007 Author Report Share Posted September 3, 2007 Da mein Mailserver gerade gewartet wurde, kam folgender Fehler erst später zum Vorschein: Die 0.00 Euro Abwicklung im Shop geht nun problemlos, doch bei der Bestellbestätigung per Mail kommt dafür folgende Fehlermeldung (nur bei 0 Wert-Bestellung): Warning: Smarty error: unable to read resource: "*/admin/mail//change_order_mail.html" in /home/*/public_html/templates/includes/classes/Smarty_2.6.14/Smarty.class.php on line 1095 Da ich von PHP leider nicht viel verstehe, konnte ich den Fehler in der angegebenen Datei bis jetzt noch nicht beheben. Ich hoffe jemand kann mir da weiterhelfen. Besten Dank. Link to comment Share on other sites More sharing options...
cecom Posted September 11, 2007 Author Report Share Posted September 11, 2007 So, die Seite ist fast fertig und bis auf diesen Fehler konnte alles umgesetzt werden. Der Fehler: "Warning: Smarty error: unable to read resource: "*/admin/mail//change_order_mail.html" in /home/*/public_html/templates/includes/classes/Smarty_2.6.14/Smarty.class.php on line 1095" kommt nicht in der Bestellbestätigung, sondern beim Ändern des Bestellstatus. Und das Komische dabei, nur bei 0 Euro Bestellungen! Ich kann in der gleichen Session etwas Bestellen oder Freischalten mit einem anderen Wert und da kommt die Mail korrekt! Ich dachte, das liege daran, da wieder ein 0-Wert vorliegt aber dann las ich folgenden Beitrag und bin mir daher nicht mehr so sicher: http://www.xt-commerce.com/forum/showthread.php?t=35556&highlight=change_order_mail Leider komme ich damit ebenfalls nicht weiter und hoffe, dass hier doch noch jemand eine Lösung weiss. Herzlichen Dank! Link to comment Share on other sites More sharing options...
cecom Posted September 17, 2007 Author Report Share Posted September 17, 2007 Nun hänge ich schon seit zwei Wochen an diesem Bestellstatus für 0.- Euro Bestellungen und die Zeit läuft davon. Wie ich Dank diesem Beitrag (http://www.xt-commerce.com/forum/showthread.php?t=42280) herausgefunden habe, wird die Sprache bei 0 Euro Bestellungen nicht in die DB geschrieben. Ob dies mit den oben ausgeklammerten Zeilen zusammenhängt, kann ich als Laie nicht beurteilen, muss aber wahrscheinlich schon so sein, wenn es mit höheren Bestellungen ja funktioniert... Nun die grosse Frage: Wie kriege ich bei 0 Werten die Sprache in die DB rein (ohne von Hand alle Bestellungen in der DB bearbeiten zu müssen)? Für den absoluten Notfall ginge auch ein automatisches Zwangs-"german" für alle Bestellungen, da der Shop in nächster Zeit nur in Deutsch zugänglich sein wird. Sofern es sich jedoch individuell einlesen lässt, um so besser. Im Moment ist jede mögliche Version willkommen! Link to comment Share on other sites More sharing options...
ikone Posted September 18, 2008 Report Share Posted September 18, 2008 Auch wenn der Tread schon seit über einem Jahr nicht mehr bearbeitet wurde, gibt es jetzt eine Lösung: In der checkout_process.php gibt es ein Conditional was darüber entscheidet, wie "Gratis-Geschenke" in der DB abgelegt werden. "Gratis-Geschenke" zeichnen sich u.a. dadurch aus, das keine Zahlungsweise ausgewählt wurde. if ($_SESSION['credit_covers'] != '1') { $sql_data_array = array (....); } else { // free gift , no paymentaddress $sql_data_array = array (....); } In dem oberen $sql_data_array wird die Sprache mit abgelegt. In dem unteren dagegen nicht. Wird also in dem unteren $sql_data_array an das Ende des Arrays folgendes ergänzt... , 'language' => $_SESSION['language'][/CODE] ...dann wird die Sprache ordnungsgemäß abgespeichert. Link to comment Share on other sites More sharing options...
ikone Posted September 18, 2008 Report Share Posted September 18, 2008 Achso und ganz wichtig, diesen Code aus der checkout_process.php nicht wie weiter oben beschrieben auskommentieren ... if ( (xtc_not_null(MODULE_PAYMENT_INSTALLED)) && (!isset ($_SESSION['payment'])) ) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYME NT, '', 'SSL')); } ... sondern wie folgt ergänzen ... if ( (xtc_not_null(MODULE_PAYMENT_INSTALLED)) && (!isset ($_SESSION['payment'])) && ($order->info['total'] > 0)) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYME NT, '', 'SSL')); } Wenn man das nicht so gemacht hat, konnte man reguläre Bestellungen mit einem Bestellwert über 0 Euro ohne Angabe einer Zahlungsart abschließen. Link to comment Share on other sites More sharing options...
verismastr Posted September 30, 2008 Report Share Posted September 30, 2008 Hüstel ... ist eventuell if ((xtc_not_null(MODULE_PAYMENT_INSTALLED)) && (!isset ($_SESSION['payment'])) && ($order->info['total'] > 0)) { xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } gemeint? Der ansonsten PHP-ahnungslose verismastr Link to comment Share on other sites More sharing options...
xtcfol Posted October 21, 2008 Report Share Posted October 21, 2008 Hallo Forum, habe gerade die von ikone beschriebenen Änderungen eingefügt und kann bestätigen, daß die Null-Bestellungen wie gewünscht funktionieren. PAYMENT muß 'zusammengeschrieben' werden, wie von verismastr erwähnt. Danke für die tolle Unterstützung. Link to comment Share on other sites More sharing options...
mantonis Posted December 6, 2009 Report Share Posted December 6, 2009 hallo leute, habe alles so gemacht wie oben beschrieben. leider bekomme ich jedoch nun diesen fehler wenn ich den aktivierten download, runterladen möchte : "Serverfehler! Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist. Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten. Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber. Error 500" weiß net was los ist. für schnelle hilfe bin ich sehr dankbar. gruß Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.