Shopsystem ShopPilot
ShopPilot => ShopPilot Enterprise => Thema gestartet von: leuchtie am April 27, 2015, 12:15:36
-
Nachem wir jetzt unseren Bestellablauf umgestellt haben ist folgendes aufgefallen.
Ist im Warenkorb bisher Land oder Zahlart nicht ausgewählt worden, sah der Fehler bisher so au:
(http://www.leuchtie.info/shop/fehler-alter-ablauf.jpg)
<span style="float: left; margin-left: 540px;">
__sbestellen__
</span>
Jetzt wo der neue Bestellablauf mit der Übersichtsseite am Schluß ist, wird der Fehler so angezeigt:
(http://www.leuchtie.info/shop/fehler-neuer-ablauf.jpg)
<span style="float: left; margin-left: 540px;">
<a href="http://__xxspath__?show1300000710,__xxsession__"><img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>
</span>
Kann man das so einstellen, das der Fehlertext wieder wie der ursprüngliches Variante ist? Einziger Unterschied den ich feststellen könnte ist eben das weiter kommen zur nächsten Bestellseite, sprich zur Adresseingabe.
Die Auswahl für Land bzw. Zahlungsart sieht wie folgt aus:
<div class="content_box_100_top">
<table width="100%">
<tr>
<td> <!--<p class="titel">__language::myprint(landzahlung)__</p>-->
<p>__language::myprint(landzahlung2)__
<br><br>
__zonen__ __zahlart__
<br>
<!--<span style="color:red;">__zone::noMwStSchweiz__</span>-->
<span style="color:red;font-weight:bold;font-size:1em;">__errorTEXT033__</span></p></td>
</tr>
</table>
-
die im Shop verwendeten Zahlarten müssen in order.ipl auch definiert sein !
## Definition der im Shop definierten Zahlungsarten (1. Wert: Zahlungsart-ID, 2. Wert Bezeichnung)
my %zahlarten = (
2 => 'Nachnahme'
);
Hier müssen ALLE verwendeten Zahlarten eingetragen werden
-
Die sind im der order.ipl definiert. Die Fehlermeldung kommt ja, wenn kein Land oder Zahlungsart ausgewählt ist und der Kunde zur Adresseingabe weiter gehen will.
mit der __sbestellen__ Variante funktioniert es ja auch. Nur bei der alternaviten drei-stufigen Variente (Warenkorb-Adresseingabe-Zusammenfassung) eben nicht.
Link zum Shop: http://www.leuchtie.com/cgi-bin/endkundenD/iboshop.cgi?logoffshow0 --> Hier ist der Bestellablauf mit Zusammenfassung aktiv.
## Definition der im Shop definierten Zahlungsarten (1. Wert: Zahlungsart-ID, 2. Wert Bezeichnung)
my %zahlarten = (
3 => 'Sofortüberweisung',
1 => 'Vorkasse',
2 => 'Nachnahme',
);
-
ein Workaround wäre
im Warenkorb
<!--spmacro:module(check)
sub zahlart {
my $curZahlart = main::cart_read_var("zahl");
if ($curZahlart == 999999) {main::mprint qq|<a href="http://__xxpath__?showwk,__xxsession__">Zur Bestellung...</a>|;}
else {
main::mprint qq|<a href="http://__xxspath__?showbynameBestellung1,__xxsession__">Zur Bestellung...</a>|;
}
}
-->
und dann __check::zahlart__ statt __sbestellen__
Damit wird die Warenkorbseite erneut aufgerufen, wenn keine Zahlart gewählt wurde.
Fehlermeldung wird damit allerdings nicht ausgegeben.
-
Besser ist es im Warenkorb statt dem Bestellbutton einen Hinweis anzuzeigen, wenn keine Zahlungsart ausgewählt ist.
<!--spmacro:module(goto)
sub orderform {
my $curZahlart = main::cart_read_var("zahl");
if ($curZahlart == $main::unknown) {
main::mprint "Bitte wählen Sie oben ein Land und eine Zahlungsart aus!"
} else {
main::mprint qq{<a href="http://__xxspath__?show1300000710,__xxsession__">
<img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
}
}
-->
<span style="float: left; margin-left: 540px;">
__goto::orderform__
</span>
-
Das ist eine gute Lösung vielen Dank.
-
kann man bei dem Code noch eine Auswahl einbauen für die drei zahlungsarten, derzeit springt er immer in die Vorkasse, weil ja die Seite 1300000710 hinterlegt ist
1 Vorkasse = 1300000760
2 Nachnahme = 1300000750
3 Sofortüberweisung = 1300000770
Zu diesen Programmierungen fehlen mir leider vollkommen die Kenntnisse in der Praxis. Ich denke da müsste noch ein If nach dem else kommen :-)
-
habe das mal so probiert, aber vermutlich ist die Ausgewählte Variable falsch :-(
<!--spmacro:module(goto)
sub orderform {
my $curZahlart = main::cart_read_var("zahl");
if ($curZahlart == $main::unknown) {
main::mprint "Bitte wählen Sie oben ein Land und eine Zahlungsart aus!"
}
elsif ($curZahlart == $main::1) {
main::mprint qq{<a href="http://__xxspath__?show1300000760,__xxsession__">
<img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
}
elsif ($curZahlart == $main::2) {
main::mprint qq{<a href="http://__xxspath__?show1300000750,__xxsession__">
<img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
}
elsif ($curZahlart == $main::3) {
main::mprint qq{<a href="http://__xxspath__?show1300000770,__xxsession__">
<img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
}
}
-->
-
versuchen Sie es doch mal mit
else {
main::mprint qq|<a href="http://__xxspath__?showbynameBestellung1,__xxsession__">Zur Bestellung...</a>|;
}
wie in meinem ersten Beispiel.
Die Bestellung1-Seite sollte doch "global" für alle Zahlarten sein = es wird nur das eingeblendet das für die gewählte Zahlart relevant ist.
Sie brauchen doch keine 3 verschiedenen Vorlagen ?
-
Das Problem ist, das die Zusammenfassungseite jeweils am Ende anders aussieht mit anderen im Html code hinterlegten Texten.
und ich kann ja nur über die Bestellung1 zu einer einzigen Bestellung2 Seite weiterleiten.
Ich habe also aktuelle den Vorgang für alle drei Zahlungsarten. Von daher sollte er im Warenkorb jeweisl auf den entsprechenden Weg verweisen.
Deswegen der der versuch über diese Dreiteilung.
Bin da leider kein Programmierer und muss das so umsetzen wie ich es verstehen und hier auch weiter geben kann. Da kann man bestimmt einiges einfacher machen :-(
-
Jetzt funktioniert es, das Beispiel hat zumindest bei der Variabelen geholfen :-):-)
<!--spmacro:module(goto)
sub orderform {
my $curZahlart = main::cart_read_var("zahl");
if ($curZahlart == $main::unknown) {
main::mprint "Bitte wählen Sie oben ein Land und eine Zahlungsart aus!"
}
elsif ($curZahlart == 1) {
main::mprint qq{<a href="http://__xxspath__?show1300000760,__xxsession__">
<img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
}
elsif ($curZahlart == 2) {
main::mprint qq{<a href="http://__xxspath__?show1300000750,__xxsession__">
<img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
}
elsif ($curZahlart == 3) {
main::mprint qq{<a href="http://__xxspath__?show1300000770,__xxsession__">
<img src="../images/other/pay_ssl.png" alt="" border="0" width="240" height="38"></a>\n};
}
}
-->